私のプレイストアアカウントは100を超えるアプリを公開していますが、そのすべてにOTP検証を含むこの共通のユーザー生成プロセスがあります。興味深いのは、特定のOTP認証番号に対して同じプロパティを持つすべてのアプリが同じユーザーオブジェクトを持っていることです。文字列としてSharedPreferences
に格納されています。同じ署名を持つ他のアプリとユーザーの情報を共有する
ユーザーエクスペリエンスを向上させるために、デバイスにインストールされているアプリケーションが1つあり、OTP検証を行っている場合は、ユーザー生成プロセスをトリミングしたいと考えています。このユーザーオブジェクトを共有したいと思います。このユーザーオブジェクトは、各アプリケーションのSharedPreferences
に文字列として保存されています。
だからここに私はcom.domain.app.cXアプリのインストール時に、私が欲しいものです:
1)com.domain.app.cX - >(確認済みのユーザーを持っています) - ? >com.domain.app.cY
2.1)com.domain.app.cY - >(はい、私が持っている、ここにある "ユーザーJSON") - >com.domain.app.cX
または
2.2) com.domain.app.cY - >(ノー私はすべてのユーザーを持っていない) - >com.domain.app.cX
3)に移動しますcom.domain.app.cZがインストールされているかどうかを確認し、ステップからにわたり行う1
オプション私が持っている:私はおよそContentProvider
を読んで、あなたはURに配置する必要があることを理解している
1)パッケージ名に固有のContentProvider
のIである。
2)createPackageContext
でパッケージ名を使用し、任意のアプリでSharedPreferences
を取得します。
どちらのソリューションでも、どのアプリが既に端末にインストールされているのかわからないので、すべてContentProvider
のURIとアプリのパッケージ名がわかります。
すべてのアプリが同じ証明書で署名されているので、私はアプリの署名を活用できるソリューションはありますか?
ドメイン名はすべてのアプリで同じですか? –
はcom.companyname.property.c123とcom.companyname.property.c127のようになります。 123および127はセントラルシステムのプロパティのIDです。 –
インストールされているアプリのリストを取得し、パッケージ名とドメイン名を一致させることができます。パッケージを見つけたら、そのコンテンツプロバイダに問い合わせて、ログインしたユーザー情報を取得します。 –