コンテンツにスキップ

iOS SDK移行FAQ

このページでは、レガシーのAppboy iOS SDK(Objective-C SDKとも呼ばれます)からBraze Swift SDKへの移行に関するよくある質問にお答えします。


バージョンサポートとサポート終了

Appboy iOS SDK 4.7.0はサポート終了ですか?

はい、Appboy iOS SDK 4.7.0(およびすべての4.xバージョン)はサポート終了となっています。セキュリティ修正や重大なバグ修正は提供されません。メッセージングと分析は引き続き正常に機能しますが、バージョン4.7.0はセキュリティの観点からサポート対象外として扱う必要があります。

本番環境でサポートされるSWIFT SDKの最小バージョンは何ですか?

現在のメジャーバージョン(16.x以降)が、継続的なサポート、バグ修正、および新機能の対象となっています。古いマイナーバージョンでは、継続的なメンテナンスが提供されない場合があります。

互換性ライブラリ

BrazeKitCompatとBrazeUICompatはSWIFT SDK 17.xの本番環境で使用できますか?

はい、BrazeKitCompatBrazeUICompatは移行期間中の本番環境での使用がサポートされています。これらはAppboy SDKからSWIFT SDKへの移行を最小限のコード変更で実現するための「つなぎ」として位置付けられており、長期的な利用を想定したものではありません。正式にサポートされておりバグ修正も引き続き行われていますが、最終的にはこれらの互換性ライブラリからモダンなSWIFT SDK APIへ移行することが意図されています。

BrazeKitCompatとBrazeUICompatはいつ削除されますか?

SWIFT SDKチームはBrazeKitCompatライブラリの提供を終了する計画がありますが、具体的なタイムラインはまだ発表されていません。互換性ライブラリに無期限に依存するのではなく、モダンなSWIFT SDK API(BrazeKitBrazeUI)への完全移行を計画することをお勧めします。

遅延初期化

はい。Swift SDKは遅延初期化をサポートしており、SDKを開始する前にユーザーの同意を待つ必要があるアプリに便利です。application(_:didFinishLaunchingWithOptions:) の早い段階で Braze.prepareForDelayedInitialization()(オプションで analyticsBehavior パラメーターを使用)を呼び出し、同意を得た後に標準のBraze初期化メソッドを呼び出してSDKを初期化します。

詳しい実装については、遅延初期化の設定を参照してください。

遅延初期化に必要なSwift SDKの最小バージョンは?

Swift SDK 11.2.0が遅延初期化の最小バージョンです。遅延初期化のプッシュおよびディープリンクの堅牢性はバージョン14.1.0でさらに改善されました。Swift SDK 17.0.0はこれらの両方のしきい値を十分に超えています。

SDKが初期化される前に受信したイベントはどうなりますか?

SDKが初期化されると、キューに入れられたアイテムが処理されます。ただし、動作はチャネルによって異なります。

リソースバンドルとSPMインテグレーション

braze-swift-sdk_BrazeUI.bundleが見つからないというランタイムエラーが表示されるのはなぜですか?

これは既知のSDKバグではなく、インテグレーションの設定ミスが原因である可能性が高いです。Swift SDK 12.0.0以降、静的XCFrameworksは外部リソースバンドルに依存する代わりに、リソースを直接含むようになりました。

リソース埋め込みに必要なSPM/Xcode/アーカイブの要件は何ですか?

Swift SDK 12.0.0以降、XcodeプロジェクトのBraze XCFrameworksに対してEmbed & Signを選択する必要があります。これは静的バリアントとダイナミックバリアントの両方に適用されます。これは、アーカイブ時やリリース時にバンドルが見つからないエラーが発生する最も一般的な根本原因です。

非標準のビルドシステムでリソースバンドルをオーバーライドするにはどうすればよいですか?

非標準のビルドシステム(Tuist、Bazel、Buck、CI)の場合は、承認済みのオーバーライドAPIを使用してください。

  • BrazeKit.overrideResourcesBundle(複数形の「Resources」であることに注意)
  • BrazeUI.overrideResourcesBundle(複数形の「Resources」であることに注意)

単数形のoverrideResourceBundleはSwift SDK 8.1.0で非推奨となっており、使用すべきではありません。

ユーザーIDとプッシュトークン

プロファイル、デバイスの関連付け、プッシュトークンを保持するためのバリデーションチェックリストはありますか?

ドキュメントには、移行専用の公式チェックリストは存在しません。以下のバリデーションステップを実行することをお勧めします。

  1. 移行後に registerDeviceToken またはプッシュのオートメーションが正しく接続されていることを確認します。
  2. ロールアウトの前後で、ダッシュボードのプッシュ登録済みユーザー数を確認します。
  3. いくつかの特定のexternal IDをスポットチェックし、デバイスの関連付けが維持されていることを確認します。

changeUser はプッシュトークンが新しいユーザーに引き継がれることを保証しますか?

ドキュメントに明示的な保証は記載されていません。ただし、設計上の意図として、プッシュトークンはユーザーではなくデバイスに紐づきます。changeUser を呼び出すと、既存のデバイストークンが新しいユーザープロファイルに再関連付けされます。大規模なロールアウトの前に、changeUser をテストし、ダッシュボードを確認して、新しいプロファイルにトークンが表示されることを確かめてください。

New Stuff!