يمكن أن تحدث المصادقة في ثلاث بيئات مختلفة:
- تطبيق Android لجهة تكامل الدفعات
- الموقع الإلكتروني للأجهزة الجوّالة لجهة تكامل الدفع
- الموقع الإلكتروني المتوافق مع أجهزة الكمبيوتر المكتبي لجهة تكامل الدفعات
وبغضّ النظر عن مسار العملية، تسلِّم Google تفاعل المستخدم إلى قسم "الدفع". شركة التكامل. يمكن لجهة تكامل الدفع أن تختار عرض أو عرضها ببساطة على الفور إذا كانت تحتوي بالفعل على البيانات المناسبة. وتؤدي جميع العمليات إلى إصدار عملية الدمج AuthenticationResponse. هذا النمط يتم توقيع الرد ويتم إرساله مرة أخرى إلى Google.
يجب أن تتبع المواقع الإلكترونية للأجهزة الجوّالة وأجهزة سطح المكتب واجهة WebRedirect Authentication API. المواصفات، في حين يجب أن يتوافق مسار تطبيق Android مع مواصفات واجهة برمجة التطبيقات للمصادقة.
على جهات الدمج تنفيذ حل حزمة APK لنظام التشغيل Android لمصادقة المستخدمين. وهذه المصادقة هي وسيلة مختلفة، ولكن الغرض نفسه التي يوفرها موقع الويب المصادقة.
يصادق المستخدم مع شركة تكامل الدفع عبر نظام Android. النشاط: ويتم استدعاء الغرض من المصادقة أثناء ارتباط الحساب تحديات المستخدم. لمنع Android من إنهاء Play في أثناء إجراء المصادقة، يجب على شركة الدمج تضمين اتباعها في موضوع النشاط.
<item name="android:windowIsTranslucent">true</item>
تعريف الطريقة
يجب أن تتوفّر السمات التالية في الغرض:
خصائص الطريقة | |
---|---|
الإجراء |
com.google.android.payments.standard.AUTHENTICATE_V1 |
الفئة | android.intent.category.DEFAULT |
الطلب
الحقول | |
---|---|
gspAuthenticationRequest
|
AuthenticationRequest
طلب المصادقة |
gspAssociationId
|
string
تتضمّن هذه العلامة، في حال توفّرها، معرّفًا تستخدمه شركة عملية الدمج للاطّلاع على هذه البيانات. بيانات الاعتماد للمستخدم الذي يواجه إعاقة. إذا لم يكن هذا موجودًا، يتوفّر للمستخدم خيار تغيير تعريف الحساب. |
الرد
بعد أن يكمل المستخدم المصادقة، يجب أن يرسل تطبيقك نتيجة. في العودة إلى Google. إذا تمت المصادقة بنجاح، أنشئ intent وأضِف gspAuthenticationResponse المشفرة كعنصر إضافي. بعد ذلك، اضبط نتيجة النشاط على رمز النتيجة المناسب.
...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();
النتيجة
الحقول | |||||||
---|---|---|---|---|---|---|---|
نتيجة |
int
|
المحتوى الإضافي
الحقول | |
---|---|
gspAuthenticationResponse |
AuthenticationResponse
استجابة المصادقة. ويجب ألا تتجاوز هذه القيمة المرمّزة 1 كيلوبايت. |
متطلبات النشاط الأخرى
يجب أن يكون النشاط الذي يتوافق مع إجراء AUTHENTICATE_V1
المذكور أعلاه
عليك أيضًا التحقّق من أنّ المتصلين بواجهة برمجة التطبيقات لا يأتون إلا من التطبيقات الموقَّعة من Google.
سيساعد هذا في منع التطبيقات الأخرى من محاولة استدعاء نشاطك
لاسترداد رموز الهوية. ويمكن إجراء ذلك باستخدام
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
بعد super.onCreate
مباشرةً في
النشاط
التنفيذ.
في ما يلي عينة:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
يجب توفير نشاط لكل الأنشطة التي تم استدعاؤها ضمن مسار authenticate
.
مظهر يحتوي على windowIsTranslucent=true
. يجب أن يتم ذلك باستخدام
سمة AndroidManifest android:theme ولا تستخدم Context.setTheme()
.
برمجيًا، لا يعمل تعيين المظهر بشكل صحيح للنافذة
وشفافية. ستفرض Google أنّ النشاط الأول الذي يتم إطلاقه يتبع هذا الإجراء.
غير أن أي أنشطة فرعية يتم إطلاقها يجب أن تتبع أيضًا
النمط. إذا لم يتم إجراء ذلك، قد لا تنجح عمليات الشراء التي يجريها مطوّرو البرامج التابعون لجهات خارجية.