Google Play開発者サービス はAndroidライブラリであり、その目的は以下を提供することです。
(たとえば、Google +サインインが必要なために)それを使用した場合、デバイスにGoogle Playがないユーザーはどうなりますか? (Nook、Cyanogenmod、China Mobile、古いデバイス、 多分Huawei? など)
質問:私のアプリはそのようなデバイスと互換性がなくなりますか?互換性があると表示されますが、クラッシュしますか、それとも機能しませんか?
Google Play開発者サービスを使用する際に、これを念頭に置くためのベストプラクティスはありますか?
GooglePlayServicesUtil.isGooglePlayServicesAvailable(Android.content.Context)
非推奨です!
使用する:
GoogleApiAvailability api = GoogleApiAvailability.getInstance();
int code = api.isGooglePlayServicesAvailable(activity);
if (code == ConnectionResult.SUCCESS) {
// Do Your Stuff Here
} else {
AlertDialog alertDialog =
new AlertDialog.Builder(activity, R.style.AppCompatAlertDialogStyle).setMessage(
"You need to download Google Play Services in order to use this part of the application")
.create();
alertDialog.show();
}
Google Play開発者サービスの機能がアプリに不可欠である場合、アプリを機能させる方法はありません。
GooglePlayServicesUtil.isGooglePlayServicesAvailable(Android.content.Context)
を使用して、アプリ内からサービスが有効になっているかどうかを確認できます。
Play開発者サービスが利用可能な場合はConnectionResult.SUCCESS
を返します。
これで、ユーザーにインストールするように説得するか(可能であれば)、サービスを使用している機能を無効にすることができます。
Google Play開発者サービスはマニフェストで宣言されている機能ではないため、アプリはどのデバイスにも正常にインストールされますが、APIが利用可能かどうかを確認せずに使用している場合は、後でクラッシュする可能性があります。
エミュレータで動作を試すことができます。 Google APIを使用せずにAVDを作成し、その上にアプリを配置するだけです。