ガイド
Capacitor で Persistent UUID を使用する方法
@capgo/capacitor-persistent-uuid を使用する
Capacitor 用にアプリ固有の永続 UUID を1つ生成し、通常のアプリストレージが削除される再インストールやアップデートのフローでも同じ値を保ちます。
インストール
npm install @capgo/capacitor-persistent-uuid
npx cap sync
このプラグインで利用可能な機能
- getId - 保存されているUUIDを読み取ります。指定したスコープにUUIDが存在しない場合は新規作成します。
- resetId - ログアウト、プライバシーリセット、テストのクリーンアップの際に、保存されたUUIDをローテーションします。
- scope - デバッグ用と本番用のパッケージ識別子が異なるアプリ向けの、オプションのネームスペースです。
使用例
import { PersistentUuid } from '@capgo/capacitor-persistent-uuid';
const { id, created, scope } = await PersistentUuid.getId();
console.log(id);
console.log(created);
console.log(scope);
ビルドバリアント間で1つのUUIDを共有
const result = await PersistentUuid.getId({
scope: 'com.example.app',
});
console.log(result.id);
識別子をリセット
const replacement = await PersistentUuid.resetId();
console.log(replacement.id);
プラットフォームに関する注意点
AndroidではUUIDをAccountManagerに保存するため、パッケージ名やカスタムスコープが安定していれば、Android Studioでの再インストールや、デバッグ署名とPlay署名の違いを越えて保持されます。iOSではUUIDをKeychainに保存し、Keychainへのアクセスに互換性がある限り、アプリやiOSのアップデートを経ても保持されます。Webでは開発時のフォールバックとしてlocalStorageを使用します。
このプラグインはハードウェアIDを公開せず、工場出荷状態へのリセット、手動でのアカウント削除、Keychainの消去、ブラウザストレージの消去、resetIdの実行後には保持されません。
リファレンス全文
- GitHub: https://github.com/Cap-go/capacitor-persistent-uuid/
- ドキュメント: /docs/plugins/persistent-uuid/
次へ進む
使用している場合 @capgo/capacitor-persistent-uuid アプリの識別子を安定させるには、以下と連携してください: @capgo/capacitor-persistent-uuid 概要はこちら: スタートガイド インストールと API の例はこちら: Androidでの動作 再インストールの詳細は、こちら: iOSの挙動 Keychainの詳細については、また @capgo/capacitor-persistent-account UUIDではなくアカウントデータの永続化が必要な場合に。