Apple Push NotificationのFeedbackサービス

iPhoneなどにPushを送るApple Push NotificationのFeedbackサービスというものがある。アプリを出してしばらく経つと機種変とかアンインストールなどでPushが届かない端末が出て来る。不達になった場合Apple側にデバイストークンが通知され一定の基準に達するとFeedbackサービスで不達デバイストークンとして返ってくるリストに加えられる。

というわけなのだがFeedbackサービスはバイナリインターフェイスなのでデバッグが難しい…というか毎回別の値が返ってくるので意味がわからない。なう。

APNSのFeedbackサービスはPDF1ページしか説明が無くて情報不足。運用についてはhttps://code.google.com/p/javapns/wiki/FeedbackServiceの方が詳しい。

追加で書かれているのは

  • Push送信時にもエラーレスポンスパケットが出ると思うけどっそっちと併用して判断してね
  • エラーレスポンスパケットが出ると思うけどっそっちと併用して判断してね
  • Feedbackサービスの場合アプリがアンインストールされた時にApple側に通知が来るよ(ということは機種変による不達は別の方法で検知が必要)
  • インターネッツ上の情報を総合すると最低1個以上Push設定されたアプリが残ってないとAppleにアンインストール通知が来ないよ(なんだそりゃ。バグ?)

Windows Azureモバイル サービスのiOSサポート – プッシュ通知サポートを追加 | S/N Ratio (by SATO Naoki)でも同様のことが書かれている。Feedbackサービスはアンインストール通知を集めている、ということね。

PNS (プッシュ通知サービス) を扱う際に重要な点は、期限切れのデバイス トークンやチャネルのフィードバックの扱いです。通常、アプリケーションが特定のデバイスからアンインストールされ、もはや通知を受け取れない際に、これが起こります。Windows Notification Services (WNS) では、HTTPサーバーから即座にレスポンスを取得します。アップルの通知サービスは少し異なる形で動作し、期限切れのトークンの一覧をポーリングするために接続できる追加のエンドポイントを提供します。

GoogleAnalyticsAPI事始め2013

管理しているサイトや指標が多くなってきてGoogleAnalyticsを操作するのも手間になってきたのでAPIで手間を省きたい。

公式ドキュメントはWhat Is The Core Reporting API – Overview – Google Analytics — Google Developers。APIのバージョンは「The Core Reporting API version 3.0」。Version 2.4からbase URLがversion番号付きのURLに変わったので注意。

認証

まずApplication registrationが必要。Google APIs Consoleに登録後、認証はOAuth 2.0かLegacy Mechanisms、要するにapplication keyの値を指定する。推奨はOAuth2.0でドキュメントはCore Reporting API – Authorization – Google Analytics — Google Developers

AnalyticsAPIを使う

公式ドキュメントは
Core Reporting API3.0の公式ドキュメントはCore Reporting API – Reference Guide – Google Analytics — Google Developers

…となった所で以前書いたコードが発掘されたのでおしまい。

AdWords APIを使いはじめる

AdWords API、なんか日本語のドキュメントだ(∩´∀`)∩ワーイと思ってるとすぐ英語ドキュメントに飛ばされるので侮れない…。

まず公式ドキュメントはこちら
AdWords API の概要 – AdWords API — Google Developers

公式ブログによると1日あたりのオペレーション数の上限が1万回までの「ベーシックアクセス」アカウントは無料になったらしいので使ってみることに。

2013 年 3 月 1 日より、開発者による AdWords API のご利用を無料にいたします。AdWords API の優待料金制(英語、以下同様)は廃止されます。

3 月 1 日以降、API のアクセス権は、ベーシック アクセスとスタンダード アクセスの 2種類になります。ベーシック アクセスはデフォルトのアクセス権で、1 日あたりのオペレーション数の上限は 1 万回です。スタンダード アクセスは認定された開発者が対象で、1 日のオペレーション数に制限はありません。ベーシック、スタンダードのどちらのアクセス権でも、AdWords API のご利用に料金は発生しません。
Inside AdWords-Japan: AdWords API の料金体系の変更について

MCCでアカウント設定を行う

手順はSigning up for the AdWords API – AdWords API — Google Developersに書かれている。

  1. Step 1: Signing up for the AdWords API
  2. Step 2: Applying for access to the AdWords API
  3. Step 3: Set up billing and accept Terms and Conditions of usage
  4. Step 4a: Token Review team has approved my Developer Token
  5. Step 4b: Token Review team has rejected my application

My Client Centerが倒せない

My Client Center (MCC) のURLが変わっているらしくいきなり迷子になる。Google AdWords – My Client Centerという画面に飛ばされるがSignUpに行ってもスタイルシートすら当たっていない画面でなんだこりゃ、という感じ。
→Safariだとちゃんと画面が表示されたので先に進めた。Chromeの問題なのかたまたま私の環境が悪いのかはわからない。

type TargetingIdeaSelector (v201302) – AdWords API — Google Developers

TwitterCardのApp Cardを設定する

TwitterCardにアプリへの誘導を埋め込めるようになったので早速実装。

■できること

  • iPhone/iPad/Androidのプラットフォームごとにアプリを指定できる
  • URL schemeを指定できるのでアプリがインストール済みの場合、クリックして起動することができる。

App Card | Twitter Developers にドキュメントがあるがシンプルで簡単。テストツールは下記から。App Cardの検証は

https://dev.twitter.com/docs/cards/validation/validator から、と思ったらvalidatorがapp cardに対応していないんのでその先の申請に進めない…