最小チュートリアル for iOS

本チュートリアルでは以下を扱います。

  1. SDK の導入
  2. プッシュ通知機能の追加
  3. アプリ内メッセージ機能の追加

SDK の導入(CocoaPods)

※ CocoaPods を用いず sdk をダウンロードする場合はこちら

1. パッケージを追加する

  1. SDK を組み込みたいプロジェクトのディレクトリに移動してください。
$ cd YOUR_XCODE_PROJECT_DIRECTORY
  1. Podfileがない場合には、以下を実行して作成します。
$ pod init
  1. Podfileに以下のように追加します。
pod 'LogBaseSDK', '~> 4.0'
  1. 以下でインストールを実行します。
$ pod install

SDK のインストールに成功したらYOUR-PROJECT.xcworkspaceを開き SDK の初期化を行なってください。

2. SDK の初期化

AppDelegateの先頭に以下を追加します。

import LogBase

次にAppDelegateapplication:didFinishLaunchingWithOptions:内に次のコードを追加します。

YOUR_APPLICATION_IDYOUR_APPLICATION_SECRET_KEYは、LogBase から発行されたアプリ ID とシークレットキーに置き換えてください。

LogBase.initApplicationId("YOUR_APPLICATION_ID",
    secretKey: "YOUR_APPLICATION_SECRET_KEY", launchOptions: launchOptions)
LogBase.setDeviceTags()

3. データ送信の確認

  1. SDK を導入したアプリを動作確認デバイスにインストールします。
    なお、シミュレータ環境では正しく SDK の動作確認ができません。
  2. SDK を導入しているアプリを起動させます。
    動作確認デバイスがインターネットに接続できていることを確認してください。
  3. 動作確認デバイスのホームボタンを押してアプリをバックグラウンドへ送ります。
    これにより、SDK からデータが LogBase に送信されます。
  4. LogBase にログインし、ホーム画面で SDK を導入しているアプリを選択します。
  5. 「設定」→「登録デバイス」にて、デバイスが追加登録されていることを確認します。
  6. 「設定」→「登録タグ」にて OS などのタグに最新の値が登録されていることを確認します。
    タグが自動的に登録されるまでには少し時間がかかります。30 分経過しても登録されない場合には、うまく送信できていない可能性が高いです。

プッシュ通知機能の追加

1. Capabilities に Push Notifications を追加

Xcode 上で本 SDK を導入したいアプリのプロジェクトを開き、 Capabilities タブに ある Push Notifications のスイッチを ON にします。

Add the “Push Notifications” entitlements to your AppID というメッセージが表示された場合

Add the “Push Notifications” entitlements to your AppID というメッセージが表示されたら、その下にある Fix Issue ボタンをクリックします。

2. プッシュ通知機能のコードを追加する

プッシュ通知を利用するために AppDelegate内に以下のコードを追加します。
application:didFinishLaunchingWithOptions:内に次のコードを追加します。下記のコードが初めて処理された時に、 iOS 標準 のプッシュ通知の許諾ダイアログが表示されます。

LogBase.requestDeviceToken()

application:didRegisterForRemoteNotificationsWithDeviceToken:を次のように実装します。

  func application(_ application: UIApplication,
      didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    #if DEBUG
        let env = LPDevelopment
    #else
        let env = LPProduction
    #endif
    LogBase.application(application,
      didRegisterForRemoteNotificationsWithDeviceToken: deviceToken, with: env)
  }

application:didFailToRegisterForRemoteNotificationsWithError:を次のように実装します。

  func application(_ application: UIApplication,
      didFailToRegisterForRemoteNotificationsWithError error: Error) {
    LogBase.application(application, didFailToRegisterForRemoteNotificationsWithError: error)
  }

application:didReceiveRemoteNotification:fetchCompletionHandler:を次のように実装します。

  func application(_ application: UIApplication,
    didReceiveRemoteNotification userInfo: [AnyHashable : Any],
    fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    LogBase.application(application, didReceiveRemoteNotification: userInfo,
        fetchCompletionHandler: completionHandler)
  }

3. プッシュ通知証明書の設定

プッシュ通知機能を利用するためには Apple 社から発行されたプッシュ通知の証明書が必要です。 下記の手順にしたがって、証明書を LogBase に設定して下さい。

証明書の要求ファイル (CSR ファイル)を作成

証明書への署名を要求するためのファイルを作成します。このファイルは後ほど証明書を取得する際に必要になります。 PC 上で アプリケーション > ユーティリティ > キーチェーンアクセス を開きます。

メニューから キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求 を選択します。

証明書アシスタントが開きますので、情報を入力します。 「ユーザのメールアドレス」及び「通称」欄には Apple Developer Program に登録したメールアドレス及び通称を入力します。 「CA のメールアドレス」欄は空欄のままにします。「要求の処理」は「ディスクに保存」を選択し、 「鍵ペア情報を指定」にチェックを入れます。

鍵ペア情報が表示されますので、そのまま続けるをクリックします。

これで証明書を取得するための準備が整いました。

証明書の作成

次に証明書を作成します。ここでは先ほど作成した CSR ファイルが必要になります。 まず Apple Developer の Account にアクセスし、ログインした後 Certificates, IDs & Profiles をクリックします。

Certificates > All をクリックします。

右上の「+」ボタンから新しい証明書の作成を行います。

Production の Apple Push Notification service SSL(Sandbox & Production) を選択します。

今回 LogBase を利用するアプリの App ID を選択します。
※もし App ID がない場合は先に SDK の導入を行ってください。導入の手順内で自動的に App ID が生成されます。

CSR ファイルの作成方法が表示されますが、今回は既に作成済みなのでそのまま続行します。

CSR ファイルをアップロードするよう指示があるので、先ほど作成した CSR ファイルをアップロードします。

証明書が作成されました。証明書をダウンロードします。

証明書の書き出し

取得した証明書を LogBase で利用するために書き出します。 ダウンロードした証明書をキーチェーンアクセスで開きます。

証明書が選択された状態で、メニューから ファイル > 書き出す… を選択します。

フォーマットが個人情報交換 (.p12)になっていることを確認し、保存します。

パスワードの設定を行います。

証明書が書き出されました。

証明書のアップロード

管理画面の「設定」→「プッシュ通知証明書」の iOS 用プッシュ通知証明書 の欄から証明書をアップロードしてください。

パスワードは「証明書の書き出し」で設定したパスワードになります。

4. プッシュ通知機能の確認

  1. 「配信と分析」→「プッシュ通知」→「テスト配信」から配信を行ない、通知が届くことを確認します。
    テスト配信はプッシュ通知環境が「開発」のデバイスにのみ届きます。SDK を導入したアプリをデバッグビルドしてから利用してください。

確認できない場合、アプリケーションのログにエラーが出てないかを確認し、もう一度設定を確認した上で、お問い合わせください。

アプリ内メッセージ機能の追加

1. イベントの登録

アプリ内メッセージを表示させたいタイミングでイベントを登録します。 任意のタイミングで logEvent をイベント名などを指定して呼び出します。

// ファイル先頭で import の追加
import LogBase

~~~~~~~~~~~~~~~~~~~~~

// イベント名だけで設定
LogBase.logEvent("event1")

イベント名(上記例の”event1”など)は、SDK を導入したアプリから上記のコードが呼ばれたのち、 自動的に登録され管理画面上で確認できます。 イベント登録の詳細

2. アプリ内メッセージ機能の確認

  1. アプリ内メッセージを表示させたいタイミングでイベントを登録します。

  2. 「設定」→「登録イベント」にて、イベントが登録されていることを確認します。イベントが自動的に登録されるまでには少し時間がかかります。30 分経過しても登録されない場合には、うまく送信できていない可能性が高いです。

  3. 「配信と分析」→「アプリ内メッセージ」→「配信ルールと配信」→「配信ルールをあらたに登録する」より、アプリ内メッセージの新規作成を行います。 頻度を「条件に合う毎に表示」に、ステータスを「稼働」に設定しましょう。

    アプリ内メッセージを表示したいイベントが選択できない場合、SDK から該当するイベントが送信されているかを「設定」→「登録イベント」にて確認してください。

  4. SDK を組み込んだアプリを実行して先ほどのイベントを呼び出し、アプリ内メッセージが表示されることを確認します。 配信ルールの反映までに 15 分程度かかる可能性がありますので、少し待ってからお試しください。

    確認できない場合、アプリケーションのログにエラーが出てないかを確認し、もう一度設定を確認した上で、お問い合わせください。