概要
このガイドでは、OneSignalにユーザーデータをインポートするさまざまな方法について説明します。別のプラットフォームから移行する場合でも、新しいサブスクライバーを追加する場合でも、次の方法を使用してユーザーとそのサブスクリプションをインポートまたは更新できます:- SDK — 新しいユーザーとプッシュサブスクリプションを自動的に追加するために推奨されます。
- CSVインポーター — ユーザーの一括インポートと更新に最適です。
- REST API — プログラマティックまたは自動化された更新に最適です。
- 手動入力 — 個々のユーザーの追加または編集に最適です。

オーディエンスセクション内のページ
CSVインポート
メールと電話番号のサブスクリプションを、それらのタグ、言語、タイムゾーン、国、サブスクリプションステータス(メール/SMS)、および抑制ステータス(メールのみ)とともにインポートまたは更新します。
CSVインポート画面
CSVを準備する
ファイルが次の基準を満たしていることを確認してください:- UTF-8エンコーディング(BOMなし)
- 印字不可能な文字がないこと
- クリーンで一意の列ヘッダー
- ファイルサイズが150MB未満
VS CodeやSublimeなどのプレーンテキストエディターでファイルを開きます。UTF-8エンコーディングで再度開き、文字が正しく表示されることを確認してください。
external_id— 推奨。すべてのサブスクリプションにわたってユーザーを識別します。email— メールサブスクリプションに必要です。phone_number— SMSサブスクリプションに必要です。subscription_id— 既存のサブスクリプションに外部IDを追加する場合にのみ使用することをお勧めします。
subscription_idは、レガシーケースや、バックエンドがこの一意のサブスクリプションIDを追跡している場合に識別子として使用できます。プロパティの追加または更新の識別子として使用することはお勧めしません。
external_idを共有する別の行を使用します。
external_idを含めると、ユーザーの重複排除が容易になり、チャネル間での更新がサポートされ、今後のインポートが可能になります。external_idが各ユーザーに対して一意であり、SDKloginメソッドを介して設定された同じIDであることを確認してください。そうしないと、ユーザーがアプリを開いたときにリセットされます。
利用可能なCSV列
レガシー用途のみ。OneSignalサブスクリプションIDを追跡する場合に使用します。
email、phone_number、およびsubscription_idのサブスクリプションステータスを設定します。falseは抑制リストからメールを削除します。ISO 3166-2を参照してください。
単一の列からタグをインポートする
各タグキーに個別の列ヘッダーを使用する代わりに、単一のtagsヘッダーを設定し、各ユーザー行に引用符で囲まれたすべてのキーと値のペアのJSONマップを含めることができます。これは、以前にタグ付きのCSVをエクスポートし、再フォーマットせずに再インポートしたい場合に特に便利です。
ヘッダーの例:
CSVインポーターにアクセスする
- オーディエンス > インポートに移動します
- CSVインポーターを起動をクリックします
- CSVをアップロードします(ドラッグ&ドロップまたはファイルセレクターを使用)
フィールドをマッピングする
アップロード後:- OneSignalはヘッダーを既知のプロパティに自動的にマッピングします。
- 確認する前にマッピングを確認してください。

プロパティを更新する
更新するユーザーを識別するには、external_id、email、phone_number、またはsubscription_idを使用します。
既存のユーザーに新しいメールアドレスまたは電話番号を追加するには、external_idを使用する必要があります。subscription_idは使用しないでください — サブスクリプションをリンクまたはマージしません。
警告を処理する
OneSignalがフォーマットの問題を検出した場合:- CSVを修正して再アップロードします(推奨)
- または、影響を受けた列のチェックを外してインポートをスキップします

不正にフォーマットされた電話番号のエラーメッセージを表示しています
レビュー
レビュー画面で:- オプションで、このインポートのためのセグメントを作成します
- オプションで、空白の値を持つタグを削除します:
セグメントを作成すると、これらのユーザーにすぐにメッセージを送信するのが迅速かつ簡単になります。ただし、CSVにすでに一意のタグが含まれている場合は、ここでセグメントを作成する必要はありません。すでに設定したタグを使用してセグメントを作成するだけです。

セグメントを作成し、空のタグ値を削除するオプション

ステータスとレコード数を含むインポート確認
インポート時間はファイルサイズによって異なります。完了メールを確実に受信するために、
contact@onesignal.comをメール連絡先に追加してください。メール確認とトラブルシューティング
CSVのアップロードが完了すると、次のデータを含む確認メールが届きます:-
追加されたサブスクリプションレコード
- CSVアップロードを介して作成された新しいメールおよび/またはSMSサブスクリプションの数。
0は、リストにサブスクリプションを作成するための一意のemailおよび/またはphone_number識別子が含まれていなかったことを意味します。
- 変更されたサブスクリプションレコード
- スキップされたサブスクリプション更新
-
インポートされなかった
- 更新またはインポートされなかった行の数。
- 通常、次の場合に発生します:
- CSVで設定した
external_idがOneSignalアプリのどのサブスクリプションにも存在しない emailおよび/またはphone_numberサブスクリプションがすでにOneSignalアプリに存在している。
-
作成された新しいセグメント
- 該当する場合に作成したセグメントの名前。

メール確認の例
100個のサブスクリプションが作成されました。これは、emailおよび/またはphone_number列に、現在OneSignalアプリに存在していない一意のメールアドレスおよび/または電話番号が含まれていたためです。37814個のサブスクリプションが更新されました。これはユーザーの数ではありません。ユーザーは複数のサブスクリプションを持つことができることを忘れないでください。- CSVの
621852行がインポートされませんでした。OneSignalアプリのユーザーにマッピングされる外部IDがなかったか、メールアドレスおよび/または電話番号がすでに存在しており、設定する一意のデータがなかったためです。
まだ問題が解決しませんか?
support@onesignal.comに連絡して、アップロードしたCSVファイルと確認メールのスクリーンショットを共有してください。喜んで確認させていただきます!CSVインポート履歴
オーディエンス > インポート > CSV > 以前のインポートを表示でインポートの履歴を確認できます(以前の単一チャネルCSVインポートプロセスを使用して行われたインポートは、このリストに含まれないことに注意してください)。REST API
REST APIを介してユーザーとサブスクリプションをインポートおよび更新する場合:手動入力
- メールを手動で追加する
- 電話番号を手動で追加する
オーディエンス > サブスクリプション > ユーザーを更新/インポートの横の矢印 > メールを手動で追加に移動して、個々のユーザーのメールと関連付けたいデータタグを追加できる新しいモーダルを開きます。

メールを手動で追加オプションがハイライト表示されたボタンドロップダウンメニュー