2011年、Braze(当時は Appboy)はiOS用SDKを初めてリリースしました。これは、Brazeにとって最初のモバイルSDKでもありました。この12年間、iOSアプリ開発の主要言語であったObjective-Cを活用したこのライブラリは、世界中のアプリが30億台以上のデバイスでファーストパーティブランドとのインタラクションを支援してきました。モダンで高性能な後継である新しいBraze Swift SDKを、Brazeのすべてのお客様にご利用いただけるように発表できることを嬉しく思います。
Swift SDK の改善と利点
近年、iOSアプリ開発のエコシステムは急速に進化しており、ブランドとそのユーザーに新たな価値を提供する新しいフレームワークやベストプラクティスが登場しています。Swift SDKを発表することで、Brazeのお客様が最新のアプリツールや改善された開発者体験ができるようになり、アプリのパフォーマンス向上と開発者の実装作業の簡素化の両方をサポートします。
アプリパフォーマンス | 処理はアプリケーションのメイン スレッドで行われます。 | ✅ 処理はバックグラウンド スレッドで行われるため、パフォーマンスが向上し、アプリの読み込み時間が短縮されます。 |
UI カスタマイゼーション | カスタマイズはサブクラスで行う必要があります。そのため、小さなデザインの更新でもBraze UIの知識が必要となります。 | ✅より簡単なカスタマイズは、単一のプロパティを変更できるattributes struct APIで可能です。 より高度なカスタマイズのためのサブクラス化も引き続きサポートされています。 |
メッセージングのためのiOSサポート |
|
詳しくはバージョンアップ対応をご覧ください。 |
イベントハンドリング | イベントハンドリングは個別に登録が必要なため、実装作業に工数がかかります。 | ✅1つの BrazeDelegate に統合する。 個別のハンドラーは引き続きサポートされます。 |
サードパーティの依存関係 | アプリ内メッセージ、コンテンツカード、ニュースフィードでの画像サポートにSDWebImageが必要です。 | ✅サードパーティに依存しません。 GIFのサポートには、任意のライブラリを使用することができます。 |
IDFVの取得 | IDFV は常にデバイス ID として使用されます。 | ✅ IDFVの収集をオプションで切り替える事ができるようになりました(ドキュメントを参照)。 |
ロケーション分析 | アプリのビルドの一部として必要です。 | ✅ ロケーションのライブラリをオプション化(Braze Location)したため、App Storeのカテゴリ分類をより正確に行うことができます。 |
重要:このブログ記事の日付の時点で、Appleデバイス向けアプリに関連する新機能は、昨年リリースされたノーコードプッシュプライマーを含むSwift SDKにのみ追加される予定です。
AppboyKitからBraze Swift SDKへの移行について
AppboyKitからSwift SDKへの移行を簡素化するため、2つの新しい互換性ライブラリを発表します: BrazeKitCompatとBrazeUICompat、丁寧に移行の方法が記載された移行ガイドです。
新しいObjective-C互換ライブラリを利用することで、ソースコードの大規模な置き換えを必要とせずに、段階的にSwift SDKにアップグレードできます。これらのライブラリは、後方互換性を提供するだけでなく、Objective-CからSwiftへの移行をガイドするXcodeの警告を含んでいます。これらの警告メッセージが表示される、コードで置き換えるためのサジェストが表示されますので(下の図1を参照)、いくつかの修正は、「修正」ボタンをクリックするだけです。
図1
BrazeKitCompatは、AppboyKit統合と一緒にインポートすることで、既存の統合コードにほとんど変更を加えることなく、Swiftへの移行ができます。
BrazeUICompatは、カスタマイズされたあらゆるUIコンポーネント(コンテンツカード、アプリ内メッセージ、ニュースフィード)の移行経路を提供するためのフレームワークです。
SDKのUpdateガイドでは、ミニマムのマイグレーションとフルマイグレーションの2種類の方式をご案内しています。:
- ミニマムマイグレーションは、Swift SDKでアプリケーションを迅速にコンパイルするためのシンプルな置き換えです。Import BrazeKitCompat / Import BrazeUICompatのように、インポート文を更新する以外、コードの変更は必要ありません。
- フルマイグレーションは、すべてのAppboyインスタンスをBrazeに置き換え、アプリケーションのすべての非推奨警告を有効にするように設計されており、各機能を1つずつ新しいSDKのメソッド(API)に置き換えが可能です。
tvOS対応
私たちの新しいSwift SDKには、tvOSプラットフォーム上へのメッセージングが追加されました。tvOSで動くテレビ上で、ユーザーにメッセージング(アプリ内メッセージ、コンテンツカード、バックグラウンドプッシュ)ができます。tvOSの統合の詳細については、当社のドキュメントを参照してください。
Objective-C SDKの非推奨
Objective-Cの SDKの非推奨化について "AppboyKit "は、ブログ記事の日付の時点でサポートされていますが、Brazeによるアクティブな開発は終了しており、新機能は提供されません。今後は、セキュリティや重要なバグ修正のためのアップデートのみとなり、新しいSwift SDKに対応する開発を進めていきます。
すべてのアプリは新しいSDKにアップグレードすること(ミニマムマイグレーション、フルマイグレーションのどちらでも可)で、上記の機能の活用が可能です。Swift SDKがサポートするクロスプラットフォームSDKの内訳は、当社のドキュメントをご覧ください。
2024年3月1日をもって、BrazeはObjective-C SDKと互換レイヤーのサポートを終了する予定です。その時点で、SDKはバグフィックス、セキュリティアップデート、テクニカルサポートを受けられなくなります。そのため、最新の iOS 機能へのアクセス、パフォーマンスの更新、バグ修正など、Swift SDK が提供するすべての改善を確実に利用できるようにするために、2024 年 3 月より前に移行することを強くお勧めします。
また、Objective-C SDK 固有の機能はサポートされなくなりますが、古いSDKバージョンでのメッセージングや分析は通常通り機能しますがサポートは受けられなくなる点に注意してください。
最後に
新しい Swift SDK について質問がある場合や、共有したいフィードバックがある場合は、お気軽にサポート チケットを開くか、Github で新しい問題をオープンして、私たちにご連絡ください。