PDA

View Full Version : ساخت پلاگین اندروید برای Unity (ثبت امتیاز کافه بازار)



android2015
یک شنبه 21 تیر 1394, 18:21 عصر
سلام دوستان
من داخل اکلیپس یه پلاگین برای ثبت نظر کافه بازار در Unity ، ساختم اما نمی دونم چرا کار نمی کنه!

کد اکتیویتی :

package com.ab.nazar;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity;

public class SabteNazar extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//callRatePage();
}

public void callRatePage() {
String PACKAGE_NAME = "com.ab.easy_learn_english";
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setData(Uri.parse("bazaar://details?id=" + PACKAGE_NAME));
intent.setPackage("com.farsitel.bazaar");
startActivity(intent);
}
}



کد مانیفست:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ab.nazar"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.ab.nazar.SabteNazar"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>





کد سی شارپ برای یونیتی: (به Camera هم اتچ شده و همچنین یه دکمه که Submit رو فراخوانی می کنه)


using UnityEngine;
using System.Collections;

public class SubmitRate : MonoBehaviour {
AndroidJavaClass androidClass;

// Use this for initialization
void Start () {
AndroidJNI.AttachCurrentThread ();
androidClass = new AndroidJavaClass("com.ab.nazar.SabteNazar");
}

public void Submit () {
androidClass.Call("callRatePage");
}
}




فایل classes.jar هم در اکلیپس و پوشه libs کپی شده!

همچنین پلاگین هم در پوشه Plugins/Android کپی کردم!


در نهایت داخل بازی ساخته شده توسط یونیتی روی دکمه که تاچ می کنم هیچ اتفاقی نمی افته (داخل گوشی).

لطفاً راهنمایی کنید :متفکر:

android2015
یک شنبه 21 تیر 1394, 22:06 عصر
مثل اینکه بی جهت لقمه رو دور سرم می چرخوندم! :متعجب:

با کد زیر و بدون پلاگین میشه اینکارو انجام داد:


AndroidJavaClass intentClass = new AndroidJavaClass ("android.content.Intent");
AndroidJavaObject intentObject = new AndroidJavaObject ("android.content.Intent");

AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");

intentObject.Call<AndroidJavaObject> ("setAction", intentClass.GetStatic<string> ("ACTION_EDIT"));
intentObject.Call<AndroidJavaObject> ("setData", uriClass.CallStatic<AndroidJavaObject>("parse","bazaar://details?id=com.ab.easy_learn_english"));
intentObject.Call<AndroidJavaObject>("setPackage", "com.farsitel.bazaar");

AndroidJavaClass unity = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject> ("currentActivity");
currentActivity.Call ("startActivity", intentObject);




بین کلمه bazaar فاصله می افته!