アプリイベントからプッシュ通知をトリガーする

iOSアプリイベントからプッシュ通知をトリガーする方法

戦略的なケースは他の場所で説明しました:ブラスト時代は終わりました。行動トリガー通知は、プラットフォームが報酬を与え、購読者が許容するものです。このガイドはもう半分です — イベントのインストルメンテーションからマーケティングの引き継ぎまで、iOSアプリイベントから実際にプッシュ通知をトリガーする方法です。これは配線を行う開発者向けに書かれており、出荷するコードと保守性を維持する規約が含まれています。

1つの段落でのアーキテクチャ

アプリは、型付けされたプロパティを持つ名前付きイベントを発火させます。PushEngageは、ダッシュボードで設定されたトリガールールに対してそれらのイベントを照合し、キャンペーンは即時、遅延、または終了条件付きのマルチステップシーケンスとして送信されます。労働の分担がポイントです:エンジニアリングは各イベントを一度インストルメント化します。マーケティングは、再ビルドなしで、それらのイベントに対してキャンペーンを作成、編集、および削除します。あなたのインストルメンテーションは、マーケティングチームのためのAPIです。

trackEvent:汎用シグナル

iOS SDK 1.0は、カスタム行動シグナルの主力であるtrackEventを導入しました:

PushEngage.trackEvent(name: "product_viewed",
                      properties: [
                        "sku": "WCJ-1042",
                        "category": "outerwear",
                        "price": 189.00,
                        "in_stock": true
                      ],
                      profileId: currentUserId,   // ties the event to an identified subscriber
                      provider: nil,
                      eventType: nil) { success, error in
    if !success { log(error) }
}

SDKが強制する3つのルール。事前に設計してください:

  • プロパティ値は文字列、数値、またはブール値でなければなりません。配列、辞書、日付はクライアント側で拒否されます — 送信する前にフラット化してください。
  • イベント名とプロパティキーは空であってはなりません。完了ハンドラは、検証が失敗したときに通知します。デバッグビルドでログに記録してください。
  • 完了ハンドラはバックグラウンドキューで到着します。UIに触れる前にメインにディスパッチしてください。

ユーザーが識別された場合は常にprofileIdを渡してください — これにより、キャンペーンはデバイスではなく顧客をデバイス間で追跡できます。

sendTriggerEvent:クラシックなトリガーキャンペーンの配線

ダッシュボードのトリガービルダーで構築されたキャンペーン(カート放棄、閲覧放棄、カスタムジャーニー)の場合、アプリは、マーケターが設定したキャンペーンとイベント名、および通知テンプレートがレンダリングするデータトークンとともにsendTriggerEventを発火させます:

let trigger = TriggerCampaign(campaignName: "cart_abandonment",
                              eventName: "add_to_cart",
                              data: [
                                "productname": "Waxed Canvas Jacket",
                                "price": "$189",
                                "cartlink": "myapp://cart"
                              ])

PushEngage.sendTriggerEvent(triggerCampaign: trigger) { success, error in
    // background queue — dispatch before UI work
}

dataトークンは通知コピーに流し込まれます — これが、マーケターがコードに触れることなく「あなたのワックスキャンバスジャケットが待っています」がパーソナライズされる方法です。私たちはモバイルアプリのカート放棄プレイブックで完全なカート回復シーケンスを歩きました。この呼び出しはそのエンジンです。

addAlert:価格下落と在庫切れ、組み込み

最も意図の高い2つのコマーストリガーは、カスタムキャンペーンを必要とさえしません — それらはファーストクラスのSDK市民です。ユーザーが製品をウォッチするときは、アラートを登録してください:

let alert = TriggerAlert(type: .priceDrop,        // or .inventory
                         productId: "WCJ-1042",
                         link: "myapp://product/WCJ-1042",
                         price: 189.00,
                         data: ["size": "M"])

PushEngage.addAlert(triggerAlert: alert) { success, error in }

PushEngageは、価格が下落したときや在庫が復活したときに、監視、マッチング、送信を行います。価格下落通知ガイドを読んだことがあるなら、これはそれらのキャンペーンをトリガーするアプリ側の登録です。

スケーラブルなイベント分類法

インストルメンテーションの負債は現実です。半年後、イベントが addToCartcart_add、または CartUpdated のいずれであるかを誰も覚えていません。初日に規約を決めましょう — snake_case名、object_action順序、単数形のプロパティキー — そしてコアコマースセットをカバーしましょう:

イベント主要プロパティ対象となるキャンペーン
product_viewedsku、カテゴリ、価格閲覧放棄、パーソナライゼーション
product_savedsku、価格価格下落、在庫復活、ウィンバックフック
cart_updatedカート値、アイテム数、トップアイテムカート放棄
purchase_completed注文値、アイテム数終了条件、購入後、目標
search_performedクエリ、結果数ゼロ結果リカバリ、興味セグメント
onboarding_stepステップ、完了オンボーディングシリーズの分岐

6つのイベントを一度だけ計測すれば、オンボーディングシリーズ、カートリカバリ、ウィンバックフック、そして今年マーケティングチームが要求するあらゆるセグメントを強化できます。

引き継ぐ前にループをテストする

デバッグビルドでPushEngage.enableLogging = trueを設定し、イベントがデバイスから送信されるのを確認します。テストビルドから各イベントを発火させ、ダッシュボードのイベントビューに到着することを確認し、トリガーごとに1つのエンドツーエンドテストキャンペーンを送信します。SDKリポジトリのサンプルアプリには、フローを参考にできる動作中のトリガースクリーンが含まれています。ここで15分間の検証を行えば、後で発生する「なぜキャンペーンが発火しなかったのか」という調査(通常は契約の両側でのイベント名のタイポ)を節約できます。

引き継ぎ:ここからマーケティングが担当するもの

イベントが流れたら、あなたの仕事は終わりです。マーケティングはトリガーのルールを作成し、コピーを書き、遅延と終了条件を設定し、バリアントをA/Bテストし、収益アトリビューションのための目標追跡をアタッチします — すべてダッシュボード上で、チケットなしで行えます。イベント分類法のテーブルをチームのWikiに公開し、両者の契約とします。そして、「プッシュを送信できますか」というチケットの要求キューがゼロになるのを見てください — それが当初の目的でした。キャンペーンが従うべき戦略については、マーケティングチームにアプリプッシュマーケティングガイドを渡してください。

コメントを追加

コメントをお寄せいただきありがとうございます。すべてのコメントはプライバシーポリシーに従ってモデレーションされ、すべてのリンクはノーフォローとなりますのでご注意ください。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。

ウェブサイトを離れた後も訪問者をエンゲージし、維持する

見逃せないプッシュ通知で、すべてのウェブ訪問の価値を高めましょう。

  • 永久無料プラン
  • 簡単なセットアップ
  • 5つ星サポート