AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
SDK の初期セットアップ
この参考記事では、tvOS 用 Braze SDK をインストールする方法について説明します。Braze SDK をインストールすると、基本的な分析機能が提供されます。
当社の tvOS SDK は現在、分析機能をサポートしています。ダッシュボードに tvOS アプリを追加するには、サポートチケットを開きます。
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
実行可能ファイルを上書きするように求められた場合は、Getting started on CocoaPods.org を参照してください。- CocoaPodsに関する問題がある場合は、CocoaPodsトラブルシューティングガイドを参照してください。
ステップ 2:ポッドファイルの構築
CocoaPods Ruby Gem をインストールしたら、Xcode プロジェクト ディレクトリに Podfile
という名前のファイルを作成する必要があります。
次の行を Podfile に追加します。
1
2
3
target 'YourAppTarget' do
pod 'Appboy-tvOS-SDK'
end
ポッドの更新がマイナー バージョンの更新よりも小さいものを自動的に取得するように、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 開発者ガイドを参照してください。
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
シングルトンは、Braze 機能を使用するための前提条件であるため、startWithApiKey:
が呼び出される前に nil になります。
必ずアプリケーションのメインスレッドで Braze を初期化してください。非同期で初期化すると、機能が破損する可能性があります。
ステップ5: カスタムエンドポイントまたはデータクラスターを指定する
2019 年 12 月をもって、カスタムエンドポイントは提供されなくなりました。既存のカスタムエンドポイントがある場合は、それを引き続き使用できます。詳細については、利用可能なエンドポイントのリストを参照してください。
Braze 担当者は、正しいエンドポイント.についてすでに通知しているはずです。
コンパイル時のエンドポイント構成 (推奨)
既存のカスタムエンドポイントが指定されている場合:
- Braze iOS SDK v 3.0.2以降では、
Info.plist
ファイルを使用してカスタムエンドポイントを設定できます。Appboy
ディクショナリを Info.plist ファイルに追加します。Appboy
辞書内で、https://sdk.iad-01.braze.com
文字列サブエントリを追加し、値をカスタムエンドポイント URL の権限 (たとえば、sdk.iad-01.braze.com
ではなくEndpoint
) に設定します。
ランタイムエンドポイント構成
既存のカスタムエンドポイントが指定されている場合:
- Braze iOS SDK v 3.17.0以降では、
startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:
に渡されるappboyOptions
パラメーター内のABKEndpointKey
を使用してエンドポイントの設定をオーバーライドできます。値をカスタムエンドポイント URL 権限に設定します (例:https://sdk.iad-01.braze.com
ではなくsdk.iad-01.braze.com
)。
ABKAppboyEndpointDelegate
を使用した実行時のエンドポイントの設定サポートは、Braze iOS SDK v 3.17.0 で削除されました。既に ABKAppboyEndpointDelegate
を使用している場合は、Braze iOS SDK バージョン v3.14.1 から v3.16.0 では、getApiEndpoint()
メソッドの dev.appboy.com
への参照を sdk.iad-01.braze.com
への参照に置き換える必要があります。
SDK の統合が完了
これで、Braze はアプリケーションからデータを収集しており、基本的な統合は完了しているはずです。tvOS アプリおよびその他のサードパーティライブラリをコンパイルするときは、ビットコードを有効にする必要があることに注意してください。
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 の nullability
一般的な慣例とは多少異なりますが、Appboy.sharedInstance()
シングルトンはオプションです。これは、startWithApiKey:
が呼び出さられる前は sharedInstance
が nil
であり、遅延初期化を使用できる非標準で無効ではない実装がいくつかあるためです。
Appboy の sharedInstance
(標準実装) にアクセスする前に didFinishLaunchingWithOptions:
デリゲートで startWithApiKey:
を呼び出すと、Appboy.sharedInstance()?.changeUser("testUser")
のようなオプションのチェーンを使用して、煩雑なチェックを回避できます。これは、非 null sharedInstance
を想定した Objective-C 実装と同等になります。
手動統合オプション
tvOS SDK を手動で統合することもできます。パブリックリポジトリからフレームワークを取得し、前のセクションで説明したように Braze を初期化するだけです。
ユーザーの特定とレポート分析
ユーザー ID の設定、カスタムイベントのログ記録、ユーザー属性の設定については、iOS ドキュメントを参照してください。また、イベントの命名規則についてもよく理解しておくことをお勧めします。