
AppboyKit(Objective-C SDKとも呼ばれます)はもはやサポートされておらず、Swift SDK. 新しい機能、バグ修正、セキュリティー更新s、またはテクニカルサポートを受けません。ただし、メッセージングと分析は通常どおり機能し続けます。詳しくは、新しいBrazeの概要SDK]を参照してください。
SDKの初期セットアップ
この参照記事では、tvOS用のBraze SDKをインストールする方法について説明します。Braze SDKをインストールすると、基本的な分析機能が提供されます。

tvOS Braze SDKは、Objective-CおよびSwiftプロジェクトの依存関係マネージャーであるCocoaPodsを使用してインストールまたは更新する必要があります。CocoaPodsを使用すると、統合と更新がさらに簡単になります。
tvOS SDK CocoaPods統合
ステップ1: CocoaPodsをインストールする
tvOS CocoaPods を使用してSDKをインストールすると、インストールプロセスの大部分が自動化されます。このプロセスを開始する前に、Ruby バージョン 2.0.0 以上を使用していることを確認してください。
以下のコマンドを実行して開始します:
1
$ sudo gem install cocoapods
rake実行ファイルの上書きを求められた場合は、CocoaPods.orgのGetting startedを参照してください。- CocoaPodsに関する問題がある場合は、CocoaPods troubleshooting guideを参照してください。
ステップ2: Podfileを構成する
CocoaPods Ruby Gemをインストールしたら、Xcodeプロジェクトディレクトリに Podfile という名前のファイルを作成する必要があります。
Podfileに以下の行を追加します:
1
2
3
target 'YourAppTarget' do
pod 'Appboy-tvOS-SDK'
end
マイナーバージョン更新未満のものをpod更新で自動的に取得するように、Brazeのバージョンを指定することをお勧めします。これは pod 'Appboy-tvOS-SDK' ~> Major.Minor.Build のようになります。メジャー変更を含む最新のBraze SDKバージョンを自動的に統合したい場合は、Podfileで pod 'Appboy-tvOS-SDK' を使用できます。
ステップ3: Braze SDKをインストールする
Braze SDK CocoaPodsをインストールするには、ターミナル内でXcodeアプリプロジェクトのディレクトリに移動し、以下のコマンドを実行します:
1
pod install
この時点で、CocoaPodsによって作成された新しいXcodeプロジェクトワークスペースを開けるはずです。Xcodeプロジェクトではなく、このXcodeワークスペースを使用してください。

ステップ4: アプリデリゲートを更新する
AppDelegate.m ファイルに以下のコード行を追加します:
1
#import <AppboyTVOSKit/AppboyKit.h>
AppDelegate.m ファイル内の application:didFinishLaunchingWithOptions メソッド内に以下のスニペットを追加します:
1
2
3
[Appboy startWithApiKey:@"YOUR-API-KEY"
inApplication:application
withLaunchOptions:launchOptions];
最後に、YOUR-API-KEY を設定の管理ページの正しい値に更新します。
Braze SDKをCocoaPodsまたはCarthageで統合する場合は、AppDelegate.swift ファイルに以下のコード行を追加します:
1
import AppboyTVOSKit
SwiftプロジェクトでObjective-Cコードを使用する方法の詳細については、Apple Developer Docsを参照してください。
AppDelegate.swift で、application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool に以下のスニペットを追加します:
1
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions)
次に、YOUR-API-KEY を設定の管理ページの正しい値に更新します。
sharedInstance シングルトンは startWithApiKey: が呼び出されるまで nil になります。これはBrazeの機能を使用するための前提条件です。

アプリケーションのメインスレッドでBrazeを初期化してください。非同期で初期化すると、機能が正しく動作しなくなる可能性があります。
ステップ5: カスタムエンドポイントまたはデータクラスターを指定する

2019年12月現在、カスタムエンドポイントは新たに提供されなくなりました。既存のカスタムエンドポイントをお持ちの場合は、引き続き使用できます。詳細については、利用可能なエンドポイントのリスト を参照してください。
Brazeの担当者が、正しいエンドポイントについてすでにアドバイスしているはずです。
コンパイル時のエンドポイント設定(推奨)
既存のカスタムエンドポイントが提供されている場合:
- Braze iOS SDK v3.0.2以降では、
Info.plistファイルを使用してカスタムエンドポイントを設定できます。Info.plistファイルにAppboyディクショナリを追加します。Appboyディクショナリ内にEndpoint文字列サブエントリを追加し、カスタムエンドポイントURLのオーソリティに値を設定します(例:sdk.iad-01.braze.com、https://sdk.iad-01.braze.comではありません)。
ランタイムのエンドポイント設定
既存のカスタムエンドポイントが提供されている場合:
- Braze iOS SDK v3.17.0以降では、
startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:に渡されるappboyOptionsパラメーター内のABKEndpointKeyを使用してエンドポイントをオーバーライドして設定できます。カスタムエンドポイントURLのオーソリティに値を設定します(例:sdk.iad-01.braze.com、https://sdk.iad-01.braze.comではありません)。

ABKAppboyEndpointDelegate を使用したランタイムでのエンドポイント設定のサポートは、Braze iOS SDK v3.17.0で削除されました。すでに ABKAppboyEndpointDelegate を使用している場合、Braze iOS SDKバージョン v3.14.1 から v3.16.0 では、getApiEndpoint() メソッド内の dev.appboy.com への参照を sdk.iad-01.braze.com への参照に置き換える必要があることに注意してください。
SDKの統合完了
Brazeがアプリケーションからデータを収集するようになり、基本的な統合が完了したはずです。tvOSアプリおよびその他のサードパーティライブラリをコンパイルする際、Bitcodeを有効にする必要があることに注意してください。
CocoaPodsを使用してBraze SDKを更新する
CocoaPodを更新するには、プロジェクトディレクトリ内で以下のコマンドを実行するだけです:
1
pod update
起動時のBrazeカスタマイズ
起動時にBrazeをカスタマイズしたい場合は、代わりにBrazeの初期化メソッド startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions を使用し、Braze起動キーのオプション NSDictionary を渡すことができます。
AppDelegate.m ファイル内の application:didFinishLaunchingWithOptions メソッドに、以下のBrazeメソッドを追加してください:
1
2
3
4
[Appboy startWithApiKey:@"YOUR-API-KEY"
inApplication:application
withLaunchOptions:launchOptions
withAppboyOptions:appboyOptions];
AppDelegate.swift 内の application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool メソッドに、以下のBrazeメソッドを追加してください:
1
2
3
4
Appboy.start(withApiKey: "YOUR-API-KEY",
in:application,
withLaunchOptions:launchOptions,
withAppboyOptions:appboyOptions)
ここで appboyOptions は起動設定値の Dictionary です。
このメソッドは startWithApiKey:inApplication:withLaunchOptions: 初期化メソッドの代わりに使用され、以下のパラメータで呼び出されます:
YOUR-API-KEY:アプリケーションのAPIキーは、Brazeダッシュボードの設定の管理にあります。application:現在のアプリです。launchOptions:application:didFinishLaunchingWithOptions:から取得するオプションNSDictionaryです。appboyOptions:Brazeの起動設定値を含むオプションNSDictionaryです。
Braze起動キーの一覧については、Appboy.h を参照してください。
Appboy.sharedInstance()とSwiftのnull許容性
一般的なプラクティスとは多少異なり、Appboy.sharedInstance()シングルトンはオプショナルです。これは、startWithApiKey:が呼び出される前はsharedInstanceがnilであり、遅延初期化を使用する非標準ではあるものの無効ではない実装が存在するためです。
AppboyのsharedInstanceへの任意のアクセスよりも前にdidFinishLaunchingWithOptions:デリゲートでstartWithApiKey:を呼び出す場合(標準的な実装)、Appboy.sharedInstance()?.changeUser("testUser")のようにオプショナルチェーンを使用することで、煩雑なチェックを回避できます。これは、非nullのsharedInstanceを前提としたObjective-C実装と同等の動作になります。
tvOS SDKを手動で統合することもできます。パブリックリポジトリからFrameworkを取得し、前のセクションで説明した手順に従ってBrazeを初期化してください。
ユーザーの識別と分析レポート
ユーザーIDの設定、カスタムイベントのログ記録、ユーザー属性の設定については、iOSドキュメントを参照してください。また、イベント命名規則についても理解しておくことをお勧めします。