今回はiOSアプリに対してExactTargetのPush通知機能を実装してみます。

参考URL

Androidの実装に関しては過去記事を参照してください↓

Push通知用の証明書とProvisioning Profileの取得

通常のiOSアプリのPush通知の設定と同じく、証明書とProvisoning Profileを取得します。

全体的な流れはこんな感じ↓

AppID作成
→キーチェーンアクセスでCSR発行して対象のAppIDにアップロード
→証明書ダウンロード&インストール
→エクスポートした証明書をAppCenterにアップロード
→ProvisioningProfileでアプリをビルド

詳細は以下を参照。

Journey Builderの方のリファレンスには証明書しか書いてませんが、Provisoning Profileも必要なので注意してください。

App Centerのアプリケーション設定

Androidの回と同様、App Centerでアプリケーションを設定します。

以下の設定画面で、取得してp12形式で書き出した証明書と書き出すときに設定したパスワードを入力すればOKです。設定後はApplicationIDとAccessTokenをメモります。

etmc_appcenter_ios

アプリの作成

今回はPush通知受け取るだけのシンプルなアプリを作成します。

Single View Aplicationを選択

etmc_mobilepush_ios1

アプリケーションの基本情報を適当に設定

etmc_mobilepush_ios2

Enable BitcodeがYesになっていることを確認します。

etmc_mobilepush_ios3

プロビジョニングプロファイルをセットします。

etmc_mobilepush_ios4

githubのコードからダウンロードして「JB4A-SDK」のフォルダごとドラッグアンドドロップでプロジェクトにインポートします。こんな感じ↓

etmc_mobilepush_ios_library

AppDelegate.mを以下のように修正します。kETAppID_***、kETAccessToken_***などはAppCenterで作成したApplicationID、AccessTokenをセットしてください。

アプリを起動させてみる

起動すると、通知の許可設定ダイアログが出てくるので、OKをクリックします。

etmc_mobilepush_ios_dialog

これでデバイスがExactTargetに登録されるので、管理画面を使ってPush通知配信したり、デバイストークンやSubscriberKeyによるAPIを利用したPush通知を行うことが出来ます。APIでのPush通知の方法に関してはこちらの記事を参照。

その他のSDKの処理について

SubscriberKeyの取得、登録

ちなみに取得の方はExactTargetのサーバから取得するのではなくローカルの値を見に行っています。つまり、setSubscriberKeyで設定した値を取得するので、初期値(おそらくGUID)のSubscriberKeyを取得することは出来ないっぽいです。

 

属性の登録

updateETをすることを忘れずに(画面遷移があるとSDK内に組み込まれているupdateETメソッドが呼ばれるみたいですが、念のため属性登録をする場所にはupdateETを入れたほうが無難)

 

デバイストークンの取得