コンテンツにスキップ

実装

実機でのデバッグビルド

SDKの各機能を実装、検証するためには実機でのデバッグビルドが必要です。
動画のように、ビルド対象をiOS SimulatorからiOS Deviceへ切り替えてビルドを実行してください。

Warning

実機でのデバッグビルドにはApple Developer Programに登録する必要があります。アカウントの登録が完了した後は、デベロッパアカウントのヘルプページに従ってBundle Identifier(App ID)やProvisioning Profileなどを準備してください。


テスト受信端末を登録する

実機へのビルドが行われると、登録に必要なpopinfo IDが作成されていますので、これをコピー&ペーストしてテスト受信端末を登録します。

まずは、popinfo IDを確認します。

import PopinfoReceiver

@main
class AppDelegate: UIResponder, UIApplicationDelegate, PopinfoReceiverDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        // インスタンスの初期化、デリケートの設定
        PopinfoReceiver.shared.delegate = self

        // popinfo IDの確認(初回起動後)
        let uid = PopinfoReceiver.shared.uid
        print(uid) // 初回起動時はnil

        return true
    }

    // popinfo IDの確認(初回起動時のみ呼ばれるデリゲート)
    func popinfoReceiverDidGetPopinfoId(_ popinfoReceiver: PopinfoReceiver, uid: String) {
        print(uid)

    }
}

Sample-12

次に、FANSHIP配信管理画面から、テスト受信端末を登録します。


プッシュ通知をテスト配信する

Warning

予め、APNs証明書をFANSHIP配信管理画面に設定しておく必要があります。
APNs証明書を新たに作成する場合は、サポートページのAPNs証明書の作成方法を参考にしてください。
このガイドでは、デバッグビルドされたアプリに対してプッシュ通知をテスト配信するので、開発用のAPNs証明書を設定しています。

登録したテスト受信端末に対してプッシュ通知をテスト配信します。
このテスト配信に成功すると、SDKのプッシュ通知機能を使用することが出来ます。

まずは、プッシュ通知で配信されたコンテンツを確認するために以下のコードを追記してください。

import PopinfoReceiver

@main
// UNUserNotificationCenterDelegateの追加
class AppDelegate: UIResponder, UIApplicationDelegate, PopinfoReceiverDelegate, UNUserNotificationCenterDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        // プッシュ通知のデリゲートを設定
        UNUserNotificationCenter.current().delegate = self

        return true
    }
}

// 配信されたプッシュ通知に対してユーザーが応答した場合に呼ばれる
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    print(response.notification.request.content.title)
    completionHandler()
}

次に、[プッシュ通知 > 新規作成画面]からプッシュ通知を作成してテスト配信します。
青枠で囲まれたエリアはテスト受信端末の映像です。

プッシュ通知が配信されて、タイトルがデバッグコンソール上で確認できればテスト成功です。


プッシュ通知を配信する

テスト配信が成功すると、画面右下の 送信する ボタンが押せるようになります。
プッシュ通知に関する管理画面の操作方法についてはFANSHIP 管理マニュアルのプッシュ通知で確認してください。

製品版のapns証明書を設定する

実機によるデバッグビルドで、 開発版のAPNs証明書 を使ったプッシュ通知に関する動作確認は済んでいますが、リリース時には 製品版のAPNs証明書 を使う必要がありますので、これを管理画面から更新する必要があります。

詳細は、FANSHIPサポートガイドのAPNs証明書管理画面への登録を参考にしてください。


アプリ内メッセージを実装する

アプリ内メッセージの実装手順は以下の通りです。

  1. アプリ側にトラックイベントを送信する機能を実装する
    ボタン押下時にトラックイベントを送信する関数を用意します。

    ViewControllerにボタンを配置してSendEventsと関数を紐づけます。

    ビルドして動作を確認します。

  2. アプリ内メッセージをテスト配信する
    アプリ内メッセージ > 新規作成画面からアプリ内メッセージを作成してテスト配信します。

    アプリ側からトラックイベントを送信してアプリ内メッセージを表示させます。

    トラックイベントを受けてアプリ内メッセージが表示されればテスト成功です。

Warning

テスト配信でアプリ内メッセージが表示されない場合、以下のケースが考えられます。

  • イベント名の不一致
    アプリ側で送信するトラックイベントのkey値と、FANSHIP配信管理画面で設定する起動トリガーのイベント名が一致しているか確認してください。
    Sample-16

  • アプリ起動後にテスト配信ボタンを押している
    アプリはサーバーから設定情報を取得するで追加したPopinfoReceiver.shared.loadSettings()を呼ぶことで最新のアプリ内メッセージに関する最新の情報を取得しています。
    アプリを再起動するなど、PopinfoReceiver.shared.loadSettings()を呼ぶ操作を行うことで問題は解消します。


アプリ内メッセージを配信する

テスト配信ボタンを押すと 送信する ボタンが押せるようになります。
アプリ内メッセージに関する管理画面の操作方法についてはFANSHIP 管理マニュアルのアプリ内メッセージで確認してください。