• 手引き
  • プラットフォーム
  • パートナー
  • English
  • TLC Tealium Learning Center Tealium Learning
    Community
  • Discussions & Ideas Dicussions & Ideas
  • Product Guides Product Guides
  • Knowledge Base Knowledge Base
  • Developer Docs Developer Docs
  • Education Education
  • TLC Blog TLC Blog
  • Support Desk Support Desk
  • CDH Customer Data Hub Customer Data Hub

目次

  • 要件
  • 仕組み
  • インストール
    • 依存関係マネージャ
    • 手動による手順(iOS)
  • 初期化
  • サポートされているメソッド
    • SDKのセットアップ
    • ユーザートラッキング
    • ユーザー属性
    • ソーシャルデータトラッキング
    • カスタムイベントトラッキング
    • 通知
    • 購入トラッキング
    • 位置追跡
    • データプライバシー
REMOTE COMMANDS/INTEGRATIONS

リモートコマンド:Braze

AndroidおよびSwift/iOSにおけるBrazeのTealiumリモートコマンド統合です。

要件

  • Braze APIキー
  • Tealium for AndroidまたはTealium for iOS(アプリ内)
  • Brazeリモートコマンドタグ(Tealium iQ Tag Management)

仕組み

Braze統合では、ネイティブBraze SDK、Brazeメソッドをラップするリモートコマンドモジュール、およびイベントトラッキングをネイティブBrazeコールに変換するBrazeリモートコマンドタグを使用します。このソリューションでは、タグ管理の利便性を活用して、アプリにベンダー固有のコードを追加することなくネイティブのBraze実装を構成します。

Brazeリモートコマンドモジュールをアプリに追加すると、必要なBrazeライブラリが自動的にインストールされ、ビルドされます。依存関係マネージャのインストールを使用している場合、Braze SDKを個別にインストールする必要はありません。

インストール

依存関係マネージャ

次の依存関係マネージャのいずれかをインストールに使用することをお勧めします。

Tealium iOS(Objective-C)ライブラリを使用している場合は、手動インストール方法を使用してください。CocoaPodsおよびCarthageオプションは、Tealium iOS(Swift)ライブラリを使用している場合にのみ使用可能です。

    CocoaPodsを使用してiOSのBrazeリモートコマンドをインストールするには:

    1. tealium-swiftとpod "Appboy-iOS-SDK"がPodfileに存在する場合は削除します。tealium-swiftの依存関係はTealiumBrazeフレームワークに既に含まれています。

    2. 次の依存関係をPodfileに追加します。

      pod "TealiumBraze"

      TealiumBrazeポッドには以下のTealiumSwift依存関係が含まれています。

      'tealium-swift/Core'
      'tealium-swift/TealiumDelegate'
      'tealium-swift/TealiumRemoteCommands'
      'tealium-swift/TealiumTagManagement'
    3. 上記以外に必要なモジュールがある場合は、Podfileに手動で追加します。以下はその例です。

      'tealium-swift/TealiumLogger'
      'tealium-swift/TealiumLifecycle'
      'tealium-swift/TealiumAppData'

      iOS向け推奨モジュールの詳細については、こちらを参照してください。

    4. モジュールTealiumSwiftおよびTealiumBrazeを、TealiumHelperファイル、Tealiumクラスにアクセスするその他のファイル、またはBrazeリモートコマンドにインポートします。

    Carthageを使用してiOSのBrazeリモートコマンドをインストールするには:

    1. tealium-swiftをCartfileから削除します。tealium-swiftの依存関係はTealiumBrazeフレームワークに既に含まれています。

    2. 以下の行がCartfileに存在する場合は、その行を削除します。

      github "Appboy/Appboy-iOS-SDK"
    3. 次の依存関係をCartfileに追加します。

      github "tealium/tealium-ios-braze-remote-command"

    Tealium for Swift SDK(バージョン1.6.5以降)では、TealiumDelegateモジュールがインストールに含まれている必要があります。

    Mavenを使用してAndroidのBrazeリモートコマンドをインストールするには:

    1. TealiumのAndroid SDKをまだインストールしていない場合はインストールします。

    2. アプリプロジェクトのbuild.gradleファイルに次の依存関係を追加して、Braze SDKとTealium-Brazeの両方のリモートコマンドをインポートします。

      dependencies {
        implementation 'com.tealium.remotecommands:braze:0.0.3'
        implementation 'com.appboy:android-sdk-ui:3.8.0'
      }

    手動による手順(iOS)

    Brazeリモートコマンドを手動でインストールするには、次のいずれかのiOSライブラリがインストールされている必要があります。

    • Tealium for Swift
    • Tealium for Objective-C

    iOSプロジェクトのBrazeリモートコマンドをインストールするには:

    1. Braze SDKをまだインストールしていない場合はインストールします。

    2. Tealium iOS Brazeリモートコマンドレポジトリをクローンして、Sourcesフォルダ内のファイルをプロジェクトにドラッグします。

    3. Tealium SDKを初期化する際には、完了ハンドラーを以下のように更新します。

      tealium = Tealium(config: config) { responses in
      guard let remoteCommands = self.tealium?.remoteCommands() else {
        return
      }
      let brazeTracker = BrazeTracker()
      let brazeCommand = BrazeCommand(brazeTracker: brazeTracker)
      let brazeRemoteCommand = brazeCommand.remoteCommand()
      remoteCommands.add(brazeRemoteCommand)
      }
    4. SwiftまたはObjective-Cのリモートコマンドを次のように追加します。

      リモートコマンドをTealiumHelper.swiftファイルに次のように追加します。

      let brazeTracker = BrazeTracker()
      let brazeCommand = BrazeCommand(brazeTracker: brazeTracker)
      let brazeRemoteCommand = brazeCommand.remoteCommand()
      tealium.addRemoteCommandID("braze",
                                 description: nil,
                                 targetQueue: DispatchQueue.main,
                                 responseBlock: brazeRemoteCommand)

      リモートコマンドをTealiumHelper.mファイルに次のようにインポートします。

      #import "TealiumRemoteCommandObjcApp-Swift.h"

      ターゲットのSwiftブリッジヘッダーは、名前の末尾に-Swift.hが付いており、ターゲットのビルド設定で「モジュール名」をフィルタリングして見つけることができます。

      詳しくは、「Apple Developerドキュメント:Importing Swift Into Objective-C」をご覧ください。

      リモートコマンドを次のように初期化します。

      BrazeTracker *brazeTracker = [[BrazeTracker alloc] init];
      BrazeCommand *brazeCommand = [[BrazeCommand alloc] initWithBrazeTracker:brazeTracker];
      TEALRemoteCommandResponseBlock brazeRemoteCommand = [brazeCommand remoteCommand];
      [[Tealium instanceForKey:@"MY_INSTANCE"] addRemoteCommandID:@"braze"
                                          description:@"Braze Remote Command"
                                          targetQueue:dispatch_get_main_queue()
                                          responseBlock:brazeRemoteCommand];

      初期化

      すべてのTealiumライブラリでは、初期化時にBrazeリモートコマンドを登録する必要があります。

        次のコードは、TealiumのAndroidライブラリで使用するように設計されています。

        import com.tealium.remotecommands.BrazeRemoteCommand;
        
        Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
        Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
        
        BrazeRemoteCommand braze;
        // Initialize with default configuration options.
        braze = new BrazeRemoteCommand(config);
        
        // Or alternatively initialize with some additional config options:
        Set<Class> sessionHandlingBlacklist = new HashSet<>();
        Set<Class> inAppMessageBlacklist = new HashSet<>();
        // sessionHandlingBlacklist.add(MainActivity.class);
        // inAppMessageBlacklist.add(UserActivity.class);
        braze = new BrazeRemoteCommand(config,
                true,                     // sessiongHandlingEnabled
                sessionHandlingBlacklist, // sessionHandlingBlacklist
                true,                     // registerInAppMessageManager
                inAppMessageBlacklist);   // inAppMessageBlackList
        
        // Optional: Set config options that may not be supported yet by the Tag in Tealium IQ
        //              or simply to override settings locally.
        braze.registerConfigOverride(new BrazeRemoteCommand.ConfigOverrider() {
            @Override
            public void onOverride(AppboyConfig.Builder b) {
                b.setPushDeepLinkBackStackActivityEnabled(true);
                b.setPushDeepLinkBackStackActivityClass(UserActivity.class);
            }
        });
        
        // register the command
        teal.addRemoteCommand(braze);

        次のコードは、iOS向けのTealiumのObjective-Cライブラリで使用するように設計されていますが、Swiftで記述されています。このコードが正しく機能するためには、Xcodeプロジェクトにブリッジヘッダーが必要です。

        let config = TEALConfiguration(account: "ACCOUNT",
                                       profile: "PROFILE",
                                       environment: "ENVIRONMENT",
                                       datasource: "DATASOURCE")
        let teal = Tealium.newInstance(forKey: "teal", configuration: config)
        
        let brazeTracker = BrazeTracker()
        let brazeCommand = BrazeCommand(brazeTracker: brazeTracker)
        let brazeRemoteCommand = brazeCommand.remoteCommand()
        teal.addRemoteCommandID("braze", description: nil, targetQueue: DispatchQueue.main, responseBlock: brazeRemoteCommand)

        次のコードは、TealiumのiOS向けSwiftライブラリで使用するように設計されています。

        var teal : Tealium?
        let config = TealiumConfig(account: "ACCOUNT",
                                   profile: "PROFILE",
                                   environment: "ENVIRONMENT",
                                   datasource: "DATASOURCE",
                                   optionalData: nil)
        
        teal = Tealium(config: config) { responses in
          guard let remoteCommands = self.tealium?.remoteCommands() else {
                return
          }
          let brazeTracker = BrazeTracker()
          let brazeCommand = BrazeCommand(brazeTracker: brazeTracker)
          let brazeRemoteCommand = brazeCommand.remoteCommand()
          remoteCommands.add(brazeRemoteCommand)
        }

        サポートされているメソッド

        以下のBrazeメソッドは、以下のTealiumコマンドを使用し、Brazeリモートコマンドタグのデータマッピングを使用してトリガーされます。

        リモートコマンド Brazeメソッド
        appendcustomarrayattribute addToCustomAttributeArrayWithKey()
        emailnotification setEmailNotificationSubscriptionType()
        facebookuser facebookUser()
        incrementcustomattribute incrementCustomUserAttribute()
        initialize startWithApiKey()
        logcustomevent logCustomEvent()
        logpurchase logPurchase()
        pushnotification setPushNotificationSubscriptionType()
        removecustomarrayattribute removeFromCustomAttributeArrayWithKey()
        setcustomattribute setCustomAttributeWithKey()
        setcustomarrayattribute setCustomAttributeArrayWithKey()
        setlastknownlocation setLastKnownLocationWithLatitude()
        twitteruser twitterUser()
        unsetcustomattribute unsetCustomAttributeWithKey()
        useralias addAlias()
        userattribute ABKUser()
        useridentifier changeUser()

        Braze SDKはTealium SDKとともにインストールされているため、対応するタグ構成があれば任意のネイティブBraze機能をトリガーしてください。

        SDKのセットアップ

        初期化

        Braze SDKは起動時に自動的に初期化されます。Braze APIキーはタグ構成で設定されます。

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        initialize startWithApiKey() configure()

        起動オプションの設定には、以下のマッピングが使用されます。

        パラメータ 型 説明
        custom_endpoint String カスタムAPIエンドポイントを設定します。sdk.api.braze.euの形式で送信されます
        device_options Int Braze SDKによって収集されるデバイスフィールドのホワイトリストを指定するキー(デフォルトではすべてのフィールドが収集されます)
        disable_location Int 位置データの自動収集を無効にします(1または0)
        enable_geofences Int ジオフェンスの自動収集を有効にします(1または0)
        flush_interval Double データフラッシュ間隔(秒単位)を設定します。値はNSTimeIntervalsに変換され、1.0より大きくなければなりません
        push_story_identifier String このキーは、Push Story Notification Content拡張機能のアプリグループ名を表す文字列値に設定されます。
        request_processing_policy Int SDKリクエスト処理の可能な値(デフォルトはABKAutomaticRequestProcessing)
        session_timeout Int(秒) セッションタイムアウト(秒単位。デフォルト:30秒)
        trigger_interval_seconds Int(秒) アプリ内メッセージがトリガーされる最小間隔をオーバーライドします(デフォルト:30秒)

        Android

        • Braze開発者ガイド:SDKの初期セットアップ

        iOS

        • Braze開発者ガイド:SDKの初期セットアップ
        • Braze開発者ガイド:ネットワークトラフィックの微調整
        • Braze開発者ガイド:ロケーションとジオフェンス
        • Braze開発者ガイド:Push Storyのセットアップ
        • Braze開発者ガイド:セッションのトラッキング

        ユーザートラッキング

        ユーザーIDの割り当て

        リモートコマンド Brazeメソッド
        useridentifier changeUser
        パラメータ 型
        user_id (required) String
        • Braze開発者ガイド:アナリティクス:ユーザーID
          • iOS
          • Android

        ユーザーのエイリアシング

        リモートコマンド Brazeメソッド
        useralias addAlias
        パラメータ 型
        user_alias (required) String
        alias_label (required) String
        • Braze開発者ガイド:アナリティクス:ユーザーのエイリアシング
          • iOS
          • Android

        ユーザー属性

        標準的な属性

        Event Brazeメソッド
        userattribute ABKUser/AppboyUserオブジェクトのフィールドを設定します
        パラメータ 型
        first_name String
        last_name String
        email String
        date_of_birth String
        country String
        language String
        home_city String
        phone String
        avatar_image_url String
        gender String
        • Braze開発者ガイド:アナリティクス:ユーザー属性
          • iOS
          • Android
        • Braze開発者ガイド:ユーザーデータAPI

        カスタム属性の設定

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        setcustomattribute setCustomAttributeWithKey setCustomUserAttribute
        パラメータ 型
        set_custom_attribute.PROPERTY [String: Any] / JSONObject
        • Braze開発者ガイド:アナリティクス:カスタム属性
          • iOS
          • Android

        カスタム属性の設定解除

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        setcustomattribute unsetCustomAttributeWithKey unsetCustomUserAttribute
        パラメータ 型
        set_custom_attribute.PROPERTY String
        • Braze開発者ガイド:アナリティクス:カスタム属性
          • iOS
          • Android

        カスタム属性の増分

        リモートコマンド Brazeメソッド
        incrementcustomattribute incrementCustomUserAttribute
        パラメータ 型
        increment_custom_attribute.PROPERTY String
        • Braze開発者ガイド:アナリティクス:属性の増分
          • iOS
          • Android

        カスタム配列属性の設定

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        setcustomarrayattribute setCustomAttributeArrayWithKey setCustomAttributeArray
        パラメータ 型
        set_custom_array_attribute.PROPERTY [String: [Any]] / JSONObject
        • Braze開発者ガイド:アナリティクス:配列属性
          • iOS
          • Android

        カスタム配列属性の追加

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        appendcustomarrayattribute addToCustomAttributeArrayWithKey addToCustomAttributeArray
        パラメータ 型
        append_custom_array_attribute.PROPERTY [String: String] / JSONObject
        • Braze開発者ガイド:アナリティクス:配列属性
          • iOS
          • Android

        カスタムarray属性の削除

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        removecustomarrayattribute removeFromCustomAttributeArrayWithKey removeFromCustomAttributeArray
        パラメータ 型
        remove_custom_array_attribute.PROPERTY [String: String] / JSONObject
        • Braze開発者ガイド:アナリティクス:配列属性
          • iOS
          • Android

        ソーシャルデータトラッキング

        Facebook

        リモートコマンド Brazeメソッド
        facebookuser ABKFacebookUser/FacebookUserオブジェクトを初期化します
        パラメータ 型
        facebook_id [String: Any] / String
        friends_count Int
        likes [Any] / String[]
        • Braze開発者ガイド:ソーシャルデータ
          • iOS
          • Android

        Twitter

        リモートコマンド Brazeメソッド
        twitteruser ABKTwitterUser/TwitterUserオブジェクトを初期化します
        パラメータ 型
        description String
        twitter_name String
        profile_image_url String
        screen_name String
        followers_count Int
        friends_count Int
        statuses_count Int
        twitter_id Int
        • Braze開発者ガイド:ソーシャルデータ
          • iOS
          • Android

        カスタムイベントトラッキング

        カスタムイベント

        リモートコマンド Brazeメソッド
        logcustomevent logCustomEvent
        パラメータ 型
        event_name (required) String
        event_properties [String: Any] / JSONObject
        • Braze開発者ガイド:アナリティクス:カスタムイベント
          • iOS
          • Android

        通知

        Eメール通知

        リモートコマンド Brazeメソッド
        emailnotification setEmailNotificationSubscriptionType
        パラメータ 型 例
        email_notification String ["optedin", "subscribed", "unsubscribed"]
        • Braze開発者ガイド:アナリティクス:Eメールサブスクリプション
          • iOS
          • Android

        プッシュ通知

        リモートコマンド Brazeメソッド
        pushnotification setPushNotificationSubscriptionType
        パラメータ 型 例
        push_notification String ["optedin", "subscribed", "unsubscribed"]
        • Braze開発者ガイド:アナリティクス:プッシュ通知
          • iOS
          • Android

        購入トラッキング

        購入記録

        リモートコマンド Brazeメソッド
        logpurchase logPurchase
        パラメータ 型
        product_id (required) [String] / String[]
        currency (required) String / String
        price (required) [Double] /Double[]
        quantity [Int] / Int[]
        purchase_properties [AnyHashable: Any] / JSONObject
        • Braze開発者ガイド:アナリティクス:購入イベント
          • iOS
          • Android

        位置追跡

        最後に認識されたユーザーの位置を設定

        リモートコマンド Brazeメソッド
        setlastknownlocation setLastKnownLocationWithLatitude
        パラメータ 型
        latitude (required) Double
        longitude (required) Double
        horizontalAccuracy (required) Double
        altitude Double
        verticalAccuracy Double
        • Braze開発者ガイド:アナリティクス:位置追跡

        データプライバシー

        SDKの有効化

        リモートコマンド Brazeメソッド(iOS) Brazeメソッド(Android)
        enable_sdk enableSDK enableSdk/disableSdk
        パラメータ 型 例
        enable_sdk Boolean true / false
        • Braze開発者ガイド:アナリティクス:無効化
          • iOS
          • Android

        データのワイプ

        リモートコマンド Brazeメソッド
        wipe_data wipeData
        • Braze開発者ガイド:アナリティクス:無効化
          • iOS
          • Android
        リモートコマンド:AppsFlyer
        リモートコマンド:Contentsquare

         
        • モバイル
        • 始める
          • 概要
          • モバイルの概念
          • クライアントサイド
          • サーバーサイド
          • データレイヤー
          • 同意管理
          • イベントバッチ処理
          • ユーザーの位置情報とジオフェンシング
          • 機能比較
          • トラブルシューティング
        • Remote Commands
          • 概要
          • 仕組み
          • リモートコマンド
            • リモートコマンド:AppsFlyer
            • リモートコマンド:Braze
            • リモートコマンド:Contentsquare
            • リモートコマンド:Facebook
            • Firebase
            • リモートコマンド:Usabilla
        • Android (Java)
          • 概要
          • インストール
          • トラッキング
          • データレイヤー
          • データ管理
          • 同意管理
          • モジュールのリスト
            • Ad Identifierモジュール
            • Crash Reporterモジュール
            • Install Referrerモジュール
            • Lifecycle Trackingモジュール
            • Locationモジュール
            • Optimizely X Trackingモジュール
          • Android TV
          • Android Wear
          • APIリファレンス
            • ConsentManager
            • DataSources
            • LifeCycle
            • Tealium
            • Tealium.Config
            • TealiumLocation
          • リリースノート
        • Cordova
          • 概要
          • インストール
          • トラッキング
          • データ管理
          • モジュールのリスト
            • Ad Identifierモジュール
            • Crash Reporterモジュール
            • Install Referrerモジュール
          • APIリファレンス
          • リリースノート
        • Flutter
          • 概要
          • インストール
          • トラッキング
          • 同意管理
          • データ管理
          • APIリファレンス
          • リリースノート
        • iOS (Objective-C)
          • 概要
          • インストール
          • トラッキング
          • データレイヤー
          • データ管理
          • 同意管理
          • Tag Management
          • モジュールのリスト
            • Lifecycle Trackingモジュール
            • Optimizely X Trackingモジュール
          • tvOS
          • watchOS
          • APIリファレンス
          • リリースノート
        • iOS (Swift)
          • 概要
          • インストール
          • トラッキング
          • データレイヤー
          • データ管理
          • アイデンティティの解決
          • アプリ拡張機能
          • 同意管理
          • モジュール
          • モジュールのリスト
            • AppDataモジュール
            • Attributionモジュール
            • AutoTrackingモジュール
            • Collectモジュール
            • Connectivityモジュール
            • CrashReporterモジュール
            • DataSourceモジュール
            • DefaultStorageモジュール
            • Delegateモジュール
            • DeviceDataモジュール
            • DispatchQueueモジュール
            • FileStorageモジュール
            • Lifecycleモジュール
            • Locationモジュール
            • Loggerモジュール
            • PersistentDataモジュール
            • RemoteCommandsモジュール
            • TagManagementモジュール
            • VisitorServiceモジュール
            • VolatileDataモジュール
          • Objective-Cとの連携
          • 機能比較
          • APIリファレンス
            • TealiumConfig
            • TealiumConsentCategories
            • TealiumConsentManagerDelegate
            • TealiumConsentManager
            • TealiumInstanceManager
            • TealiumPersistentData
            • TealiumVolatileData
            • Tealium
          • リリースノート
        • React Native
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
          • リリースノート
        • Xamarin
          • 概要
          • インストール
          • トラッキング
          • データ管理
          • 同意管理
          • APIリファレンス
          • リリースノート
        • ウェブ
        • AMP
          • 概要
          • インストール
          • トラッキング
          • データレイヤー
        • Angular
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
        • JavaScript (Web)
          • 概要
          • インストール
          • トラッキング
          • データレイヤー
          • ユニバーサルデータオブジェクト(utag_data)
          • ユニバーサルタグ(utag.js)
          • データレイヤーオブジェクト(b)
          • 単一ページアプリケーション
          • 設定
          • デバッグ
          • APIリファレンス
          • リリースノート
        • サーバーサイド
        • C#
          • 概要
          • インストール
          • トラッキング
          • データレイヤー
          • APIリファレンス
          • リリースノート
        • HTTP API
          • 概要
          • エンドポイント
          • データレイヤー
        • Java
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
          • リリースノート
        • Node
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
        • Python
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
        • Roku
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
        • Ruby
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス
        • Unity
          • 概要
          • インストール
          • トラッキング
          • APIリファレンス

        このページはお役にたちましたでしょうか?

        最終更新日 :: 2021年March月10日       ご意見有難うございます。
        • 手引き
        • プラットフォーム
        • パートナー
        • モバイル
        • 始める
        • Remote Commands
        • Android (Java)
        • Cordova
        • Flutter
        • iOS (Objective-C)
        • iOS (Swift)
        • React Native
        • Xamarin
        • ウェブ
        • AMP
        • Angular
        • JavaScript (Web)
        • サーバーサイド
        • C#
        • HTTP API
        • Java
        • Node
        • Python
        • Roku
        • Ruby
        • Unity