gpg::AndroidSupport

#include <android_support.h>

الدوال التي تمكّن دعم ما قبل Android 4.0.

ملخّص

عمليات معاودة الاتصال خلال مراحل نشاط Android

بالنسبة إلى التطبيقات التي تستهدف أجهزة Android 2.3 أو Android 3.x (إصدار واجهة برمجة التطبيقات الأقدم من 14)، لا يمكن لـ "خدمات ألعاب Play" أن تتلقّى تلقائيًا عمليات استدعاء الأنشطة خلال مراحل نشاط النشاط. وفي هذه الحالات، تعتمد "خدمات ألعاب Play" على "النشاط" لإشعارها بأحداث مراحل النشاط. يجب أن يستدعي أي نشاط يمتلك عنصر GameServices وظائف AndroidSupport::* من داخل وظائف معاودة الاتصال خلال مراحل النشاط. وتتطابق الوسيطات في هذه الدوال مع تلك التي يقدمها Android، لذا لا يلزم إجراء أي معالجة إضافية.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 4.0 من نظام التشغيل Android والإصدارات الأحدث (إصدار واجهة برمجة التطبيقات أكبر من أو يساوي 14)، تُعد معظم استدعاءات الوظائف هذه غير ضرورية. في هذه التطبيقات، يجب استدعاء الدالة OnActivityResult فقط.

رمز نموذجي للعبة ما قبل الإصدار 4.0 من نظام التشغيل Android باستخدام نشاط JavaScript

في نشاط Java، يُرجى إضافة ما يلي. قد تحتاج إلى دمج هذا الرمز مع وظائف مراحل النشاط الحالية.

import android.app.Activity;
import android.content.Intent;

public class YourActivity extends Activity {
  protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    nativeOnActivityCreated(this, savedInstanceState);
  }

  protected void onDestroy(){
    super.onDestroy();
    nativeOnActivityDestroyed(this);
  }

  protected void onPause(){
    super.onPause();
    nativeOnActivityPaused(this);
  }

  protected void onResume(){
    super.onResume();
    nativeOnActivityResumed(this);
  }

  protected void onStart(){
    super.onStart();
    nativeOnActivityStarted(this);
  }

  protected void onStop(){
    super.onStop();
    nativeOnActivityStopped(this);
  }

  protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    nativeOnActivitySaveInstanceState(this, outState);
  }

  protected void onActivityResult(int requestCode,
                                  int resultCode,
                                  Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    nativeOnActivityResult(this, requestCode, resultCode, data);
  }

  // Implemented in C++.
  private static native void nativeOnActivityCreated(
      Activity activity, Bundle savedInstanceState);
  private static native void nativeOnActivityDestroyed(Activity activity);
  private static native void nativeOnActivityPaused(Activity activity);
  private static native void nativeOnActivityResumed(Activity activity);
  private static native void nativeOnActivitySaveInstanceState(
      Activity activity,
      Bundle outState);
  private static native void nativeOnActivityStarted(Activity activity);
  private static native void nativeOnActivityStopped(Activity activity);
  private static native void nativeOnActivityResult(
      Activity activity,
      int requestCode,
      int resultCode,
      Intent data);
}
بعد ذلك، أضِف وظائف إعادة التوجيه التالية في مكتبتك المدمجة مع المحتوى.
void Java_com_example_yourapp_YourActivity_nativeOnActivityCreated(
    JNIEnv* env,
    jobject thiz,
    jobject activity,
    jobject saved_instance_state) {
  gpg::AndroidSupport::OnActivityCreated(env,
                                         activity,
                                         saved_instance_state);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivityDestroyed(
    JNIEnv* env, jobject thiz, jobject activity) {
  gpg::AndroidSupport::OnActivityDestroyed(env, activity);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivityPaused(
    JNIEnv* env, jobject thiz, jobject activity) {
  gpg::AndroidSupport::OnActivityPaused(env, activity);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivityResumed(
    JNIEnv* env, jobject thiz, jobject activity) {
  gpg::AndroidSupport::OnActivityResumed(env, activity);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivitySaveInstanceState(
    JNIEnv* env, jobject thiz, jobject activity, jobject out_state) {
  gpg::AndroidSupport::OnActivitySaveInstanceState(env, activity, out_state);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivityStarted(
    JNIEnv* env, jobject thiz, jobject activity) {
  gpg::AndroidSupport::OnActivityStarted(env, activity);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivityStopped(
    JNIEnv* env, jobject thiz, jobject activity) {
  gpg::AndroidSupport::OnActivityStopped(env, activity);
}

void Java_com_example_yourapp_YourActivity_nativeOnActivityResult(
    JNIEnv* env,
    jobject thiz,
    jobject activity,
    jint request_code,
    jint result_code,
    jobject data) {
  gpg::AndroidSupport::OnActivityResult(
      env, activity, request_code, result_code, data);
}

مثال على رمز للعبة Android الإصدار 4.0 أو الإصدارات الأحدث باستخدام نشاط JavaScript

في نشاط Java، يُرجى إضافة ما يلي. قد تحتاج إلى دمج هذا الرمز مع وظائف مراحل النشاط الحالية.

public class YourActivity extends Activity {
  protected void onActivityResult(int requestCode,
                                  int resultCode,
                                  Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    nativeOnActivityResult(this, requestCode, resultCode, data);
  }

  // Implemented in C++.
  private static native void nativeOnActivityResult(
      Activity activity,
      int requestCode,
      int resultCode,
      Intent data);
}
بعد ذلك، أضِف وظائف إعادة التوجيه التالية في مكتبتك المدمجة مع المحتوى.
void Java_com_example_yourapp_YourActivity_nativeOnActivityResult(
    JNIEnv* env,
    jobject thiz,
    jobject activity,
    jint request_code,
    jint result_code,
    jobject data) {
  gpg::AndroidSupport::OnActivityResult(
      env, activity, request_code, result_code, data);
}

الدوال الثابتة العامة

OnActivityCreated(JNIEnv *env, jobject activity, jobject saved_instance_state)
void
يجب استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بك onActivityCreated.
OnActivityDestroyed(JNIEnv *env, jobject activity)
void
يجب استدعاءها لإعادة توجيه البيانات من نشاط Java الخاص بـ OnActivityDestroyed.
OnActivityPaused(JNIEnv *env, jobject activity)
void
يجب استدعاء البيانات لإعادة توجيه البيانات من نشاط Java مؤقتًا نشاط Java مؤقتًا.
OnActivityResult(JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result)
void
يجب استدعاءها لإعادة توجيه البيانات من OnActivityResult الخاص بنشاط Java.
OnActivityResumed(JNIEnv *env, jobject activity)
void
ينبغي استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بـ OnActivity إضافي.
OnActivitySaveInstanceState(JNIEnv *env, jobject activity, jobject out_state)
void
يجب استدعاءها لإعادة توجيه البيانات من OnActivitySaveInstanceState الخاصة بنشاط Java.
OnActivityStarted(JNIEnv *env, jobject activity)
void
ينبغي استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بك OnActivityStarted.
OnActivityStopped(JNIEnv *env, jobject activity)
void
ينبغي استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بـ OnActivityStopped.

الدوال الثابتة العامة

OnActivityCreated

void gpg::AndroidSupport::OnActivityCreated(
  JNIEnv *env,
  jobject activity,
  jobject saved_instance_state
)

يجب استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بك onActivityCreated.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityDestroyed

void gpg::AndroidSupport::OnActivityDestroyed(
  JNIEnv *env,
  jobject activity
)

يجب استدعاءها لإعادة توجيه البيانات من نشاط Java الخاص بـ OnActivityDestroyed.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityPaused

void gpg::AndroidSupport::OnActivityPaused(
  JNIEnv *env,
  jobject activity
)

يجب استدعاء البيانات لإعادة توجيه البيانات من نشاط Java مؤقتًا نشاط Java مؤقتًا.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityResult

void gpg::AndroidSupport::OnActivityResult(
  JNIEnv *env,
  jobject activity,
  jint request_code,
  jint result_code,
  jobject result
)

يجب استدعاءها لإعادة توجيه البيانات من OnActivityResult الخاص بنشاط Java.

OnActivityResumed

void gpg::AndroidSupport::OnActivityResumed(
  JNIEnv *env,
  jobject activity
)

ينبغي استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بـ OnActivity إضافي.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivitySaveInstanceState

void gpg::AndroidSupport::OnActivitySaveInstanceState(
  JNIEnv *env,
  jobject activity,
  jobject out_state
)

يجب استدعاءها لإعادة توجيه البيانات من OnActivitySaveInstanceState الخاصة بنشاط Java.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityStarted

void gpg::AndroidSupport::OnActivityStarted(
  JNIEnv *env,
  jobject activity
)

ينبغي استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بك OnActivityStarted.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityStopped

void gpg::AndroidSupport::OnActivityStopped(
  JNIEnv *env,
  jobject activity
)

ينبغي استدعاء لإعادة توجيه البيانات من نشاط Java الخاص بـ OnActivityStopped.

لا يلزم ذلك إلا لدعم الإصدار 2.3.x من نظام التشغيل Android.