2017-01-18 6 views
0

UnityアプリでGoogle Api Java APIを使用しようとしています(Androidビルドの場合のみ) DetectedActivity機能を使用して、電話機が車に搭載されているかどうかを検出できます。静止。UnityでGoogle Api Javaクラスを使用していますか?

(奇数の種類は、あなたが接続する必要があること[Google Playアカウントに?]おそらく、すべてがローカルで行われ、この特定の機能を利用するためには?)

私はJavaがAndroidJavaObject内でオブジェクトを作成することができました別の目的のためにC#のスクリプト(Unity APIがユニティ5.5から盗まれているので、Android APIからGPSを読む)。 しかし、GoogleApiClientの抽象クラス、またはオブジェクトとしてのBuilderを作成できないようです。 私はBuilderを作成するためにしてみましたコード:

public void ActivateActivityDetector() 
{ 
    #if UNITY_ANDROID 
    using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) 
    { 
     activityContext = activityClass.GetStatic<AndroidJavaObject>("currentActivity"); 

     if (debugText!=null) 
      debugText.text = "Ok1"; 
     try 
     { 
      AndroidJavaObject api = new AndroidJavaObject("com.google.android.gms.common.api.GoogleApiClient$Builder", activityContext); 

      if (debugText!=null) 
       debugText.text = (api!=null)?"Yes":"No"; 
     } 
     catch (System.Exception e) 
     { 
      if (debugText!=null) 
       debugText.text = e.ToString(); 
     } 

    } 
    #endif 
} 

しかし、私はクラスは、私がしようとバリエーションの任意の並べ替えのために発見されないという例外を取得しておきます。 私はこれがおそらくSDKユニティのapkを構築するのに使用されていると思われますが、バニラのAndroid SDKですが、Google APIも含まれている別のSDKがありますか?

いずれにせよ、Unityの下でGoogle APIサービス、特にDetectedActivityを使用できるかどうかを知りたいと思いますか? もう一つの可能​​性は、私がオープンソースとして利用できると信じているGoogle APIのソースコードから直接コードを取得することです(ライセンスについてはわかりませんが、商用プロジェクトで使用できるかどうかはわかります)。

答えて

1

Google APIは確かにAndroid SDKの一部ではありません。それを使用するには、あなたのAndroidプロジェクトでset up Google Play Servicesする必要があります。

1つのビルド設定に行くと、「Google Android Project」という名前のオプションがあるはずです(hereなど)。これを選択すると、UnityはAPKではなくAndroidプロジェクトフォルダを作成します。そこには、最初のリンクで説明したようなプレイサービスをセットアップできる必要があります。

私の知る限り、その時点でそのプロジェクトとAndroid Studioを使用してAPKを構築する必要があります。したがって、開発の目的でいくつかのダミーを実装したいかもしれません。

+0

2017にも同様のオプションがあるのではないでしょうか?近くのメッセージは、Google Playゲームの1つのSDKで '接続 'しかサポートしていないため、Javaの近くのメッセージをJavaで使用しようとしています –

関連する問題