デバイスIDと呼ばれる値に変化があるかによって、異なります。
デバイスIDが変更される場合
再インストールを行うと、デバイスの識別に利用されるデバイスIDが新しくなるケースが存在します。
その場合、新規デバイスとみなされるため、前回インストール時のイベント実行履歴を引き継ぎません。
例:
- 初回インストール時、ユーザーIDをAとセット
- 同デバイスにて、アンインストールし、再インストール
- デバイスIDが変更されるため、新規デバイスによる利用と判定される = ユーザーID Aと設定されていたことが消滅する
デバイスIDが変更されない場合
再インストールを行ってもデバイスIDが変わらない場合、前回のインストール時と同じデバイスであると判定されます。
その場合、前回インストール時に設定されていたユーザーIDと同一のユーザーによるイベントの実行履歴として管理されます。
例:
- 初回インストール時、ユーザーIDをAとセット
- 同デバイスにて、アンインストールし、再インストール
- デバイスIDが変更されないため、同デバイスによる利用と判定される = ユーザーID Aが再インストール後もイベントを実行している
参考:Reproのユーザー定義
1ユーザーという単位を「ユーザーの定義」に基づき、ユーザーIDをセットしている場合はユーザーIDにて、ユーザーIDをセットしていない場合はデバイスIDという値にて判別しています。
ユーザーIDは、ReproSDKの実装にて設定されている値です。通常ログインIDなどが利用されます。
同じ値でユーザーIDが設定される場合、すべてのデバイスを同じユーザーが利用しているとみなします。
たとえば10デバイスでの利用だとしても、同じユーザーIDが設定されていれば、1ユーザーによるイベントの実行であるということです。
デバイスIDの定義
ReproSDKにおいてデバイスIDとして利用される値は下記のとおりです。
- iOS : IDFV (Identifier for Vendor) : AppleDeveloper内の公式定義
- Android : ANDROID_ID(デフォルト) : AndroidDeveloper内の公式定義
iOS SDKで使用されるIDFV
Appleが発番するベンダーで一意なIDとなり、同じデバイスで実行されている同一ベンダーのアプリで同じ値を返すという値です。
同じベンダーのアプリがデバイス内にある限り、デバイスIDに変化はありません。
同じベンダーのアプリがすべて削除された状態の再インストールでは、前回と別のデバイスIDとなり、新規のデバイスであると判断されます。
Android SDKでデフォルトで使用されるANDROID_ID
ユーザーが最初にデバイスをセットアップしたときにランダムに生成され、デバイスの存続期間中は一定のままの値です。
基本的に再インストールでも値が変わらないため、デバイスIDは変更されません。
そのため、再インストールであっても前回と同デバイスであると判断されます。