@capgo/capacitor-notifications
Overview
「概要」@capgo/capacitor-notifications CapacitorアプリをCapgoのネイティブ通知パイプラインに接続します。アプリはCapgoに署名済みの顧客ユーザーIDを登録し、CapgoはCloudflare Analytics Engineに最新のアクティブデバイス状態を保持し、CapgoダッシュボードまたはAPIから通知を送信、バッジを設定、配信統計を確認、静音Capgoライブアップデートチェックをトリガーできます。
この機能は、Capgo Postgresに高カードinalityの通知デバイステーブルを避けるように設計されています。Postgresは、設定、アプリケーション、プラットフォームクレデンシャルメタデータ、キャンペーンドラフト、スケジュール、集計キャンペーンレコードなどの低カードinalityのコントロールプレーンデータのみを格納します。アクティブデバイス状態と通知イベントは、Analytics Engineのアペンドオンリーの行として格納されます。
Capgoは何を格納しますか?
「Capgo」がどのようなデータを保存するか| データ | どこに保存されているか | なぜ |
|---|---|---|
| プラットフォーム認証情報のメタデータ | Capgo Postgres | __CAPGO_KEEP_0__の設定と権限の管理に必要なもの |
| プライベートなプラットフォームのシークレット | ワーカー環境 | プライベートなクレデンシャルを顧客向けのテーブルに保存しないようにする |
| キャンペーンの草案と設定 | Capgo Postgres | 低カードinality制御プレーンデータ。 |
| 有効なデバイス登録状態 | Cloudflare アナリティクスエンジン | 安価な追加のみ有効なデバイスレジストリ。 |
| 通知イベント | Cloudflare アナリティクスエンジン | 送信済み、受信済み、開封済み、失敗した、バックグラウンドイベントの安価な統計。 |
アイデンティティモデル
「アイデンティティモデル」というタイトルのセクションCapgo はユーザーの一覧をアップロードすることを求めることはありません。また、デバイスのテーブルを維持することもありません。
- バックエンドでは、実際の顧客ユーザーIDを知っています。
- バックエンドではCapgo に短期間の有効なIDを要求します。
identityProof. - The app registers with
externalIdand that proof after your own user authentication succeeds. - Capgoで受信者の内部キーとネイティブインストールの内部キーを決定論的に生成します。
- 同じアプリに送信する
externalIdユーザーのアクティブなデバイスを再び見つける
ユーザーのデバイスを検索し、バッジを設定し、通知キャンペーンをターゲットに設定することができます。Capgo Postgresにデバイスごとの通知行を保存する必要がなくなるためです。
コア機能
コア機能- デバイスを認証済みの外部ユーザーIDで登録する
- アプリ起動またはトークンチェンジ時にタグ、属性、同意、トークン状態を更新する
- JavaScriptでフロントグラウンド通知を受信する
- 通知を受信したと認識されたイベントを追跡する
- バックグラウンドデータ通知を受け取る。
- アプリのバッジを設定、クリア、インクリメントする。
- Android通知チャンネルを作成する。
- 一時的な通知、キャンペーン通知、バッジの更新、静音の更新チェックを送信する。
- Trigger
@capgo/capacitor-updater静音通知からトリガーする。
Stats
「Stats」セクションCapgoはCloudflareアナリティクスエンジンに通知イベントを書き込むので、ダッシュボードの統計が安価になる。
queuedsentprovider_acceptedreceivedopenedfailedpermission_changedbackground_startedbackground_finished
統計は、オペレーショナルシグナルであり、永久的な受信者レジスターではありません。アナリティクスエンジンの保持期間は、常にアクティブなデバイスが登録の更新を周期的に行う必要があることを意味します。
Public API
「Public API」セクション| メソッド | 説明 |
|---|---|
configure | CapgoアプリID、APIホスト、およびアップデート統合の動作を設定します。 |
register | 外部顧客ユーザーIDのために現在のインストールを登録します。 |
setExternalId | ログインまたはアカウント切り替え後に外部顧客ユーザーIDを変更します。 |
setTags | ターゲットアウディエンスのために使用されるタグを置き換えます。 |
setBadge | ネイティブアプリのバッジを設定します。 |
clearBadge | ネイティブアプリのバッジをクリアします。 |
incrementBadge | ネイティブアプリのバッジをインクリメントします。 |
enableUpdaterIntegration | Cloudflare または GitHub などの外部サービスを通じて静的アップデートチェックハンドリングを有効にします。 @capgo/capacitor-updater. |
runUpdateCheck | テスト用にアップデート統合を手動で実行します。 |
trackReceived | 静的アップデートチェックハンドリングを有効にします。 |
trackOpened | __CAPGO_KEEP_0__/__CAPGO_KEEP_1__で開いたイベントを手動で記述します。 |
addListener('notificationReceived') | JavaScriptが有効な状態で通知を受け取ったときに発火します。 |
addListener('notificationOpened') | ユーザーが通知を開いたときに発火します。 |
addListener('backgroundNotification') | バックグラウンドデータ通知の場合に発火し、 finish(). |
addListener('registrationChanged') | ネイティブプッシュトークンが変更されたときに発火します。 |
配信保証
配信保証のセクションネイティブプッシュは少なくとも1回配信されます。キャンペーンは再試行され、デバイスはプラットフォームが繰り返しメッセージを受け入れる場合に重複配信を受け取る可能性があります。更新チェックのためにコラプスIDを使用し、バックグラウンドワークを無害化してください。
iOSのバックグラウンド通知はベストエフォートです。OSはバッテリー、ユーザー行動、強制終了状態、システムポリシーに基づいてバックグラウンド実行をスロットルまたはスキップする可能性があります。静かな通知に依存してハードデッドラインを確実に保証することはできません。
@capgo/capacitor-通知から続けてください。
@capgo/capacitor-通知から続けてくださいのセクション__CAPGO_KEEP_0__/__CAPGO_KEEP_1__を使用している場合 @capgo/capacitor-通知 通知を計画するには、接続する 始め方 設定のため デバッグ トラブルシューティングのため @capgo/capacitor-アップデーター 静的更新チェックのため、 Capgo プラグイン ディレクトリ その他のネイティブ プラグインのため。