28

Google Play サービスは、以下を提供することを目的とした Android ライブラリです。

  • OAuth 2.0 認証
  • Google+ ログイン
  • Google+ +1 ボタン
  • その他グッズいろいろ

これを使用した場合 (たとえば、Google+ サインインが必要なため)、デバイスに Google Play がないユーザーはどうなりますか? (Nook、Cyanogenmod、China Mobile、古いデバイス、おそらく Huawei?など)

質問:私のアプリはそのようなデバイスと互換性がなくなりますか? 互換性があると表示されますが、クラッシュするか、動作しませんか?
Google Play サービスを使用する際に、これを念頭に置くベスト プラクティスはありますか?

4

4 に答える 4

26

Google Play Services の機能がアプリに不可欠な場合、アプリを機能させる方法はありません。

Play Services が利用可能かどうか を返すアプリ内からサービスが有効になっているかどうかを確認 できます。GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context)
ConnectionResult.SUCCESS

これで、(可能であれば) インストールするか、サービスを使用している機能を無効にするようにユーザーを説得することができます。

Google Play Services はマニフェストで宣言された機能ではないため、アプリはどのデバイスにも問題なくインストールできますが、利用可能かどうかを確認せずに API を使用すると、後でクラッシュする可能性があります。

エミュレータで動作を試すことができます。Google API を使用せずに AVD を作成し、その上にアプリを配置するだけです。

于 2012-11-02T09:37:19.790 に答える
-2

何らかの形で Play サービスを使用する必要がある場合、または Play サービスを呼び出すレガシー アプリを維持している場合は、次の戦略をお勧めします。

  1. アプリの起動時に、Play Services が利用可能かどうかを確認します
  2. 利用できない場合は、Play サービスの呼び出しを microG にリダイレクトします

microGは、Google Play Services のオープン ソース実装です。
多くの機能が欠けていますが、活発に開発されています。多くの機能はまだスタブです。

位置情報サービスには、Google Play サービスの位置情報 API のドロップイン代替であるLOSTもあります。

アプリが完全に動作しない可能性がありますが、少なくともクラッシュするよりはましです。

もちろん、最初から Google Play Services を使用しないのが最善です。

于 2014-05-21T07:05:05.147 に答える