Android APK Kimlik Doğrulama API'si

Kimlik doğrulama üç farklı ortamda gerçekleşebilir:

  • Ödeme entegrasyon uzmanının Android uygulaması
  • Ödeme entegratörü mobil web sitesi
  • Ödeme entegrasyon uzmanının masaüstü web sitesi

Akıştan bağımsız olarak, Google kullanıcı etkileşimini Ödeme entegratör yazılımı dahildir. Ödeme entegratörü, kullanıcıya arayüzü oluşturabilir veya uygun veriler zaten varsa hemen geri dönebilir. Tüm akışlar, entegratörün AuthenticationResponse üretmesiyle sonuçlanır. Bu imzalanır ve Google’a gönderilir.

Mobil ve masaüstü web siteleri WebRedirect Authentication API'yi izlemelidir Spesifikasyon olarak, Android uygulama akışı Android'e uygun olmalıdır Authentication API Spesifikasyonu.

Entegratörler, kullanıcıların kimliğini doğrulamak için bir Android APK çözümü uygulamalıdır. Bu kimlik doğrulama yönteminden farklı bir yöntem olsa da Web Yöneticisi Araçları tarafından sağlanan kimlik doğrulama.

Kullanıcı, Android cihaz üzerinden ödeme entegratörüyle kimlik doğrulaması yapar. Etkinlik. Kimlik doğrulama amacı, hesap ilişkilendirmesi sırasında ve zorluklar. Android'in Play'i sonlandırmasını önlemek için arka planda çalışırsa entegratörün takip etmek için konuşacağız.

<item name="android:windowIsTranslucent">true</item>

Yöntem tanımı

Niyetin şu özelliklere sahip olması gerekir:

Yöntem özellikleri
İşlem com.google.android.payments.standard.AUTHENTICATE_V1
Kategori android.intent.category.DEFAULT

İstek

Alanlar
gspAuthenticationRequest AuthenticationRequest

Kimlik doğrulama isteği.

gspAssociationId string

Bu öğe, entegratörün mevcut ürüne bakmak için kullandığı kimlik bilgilerini doğru şekilde güncelleyin. Bu mevcut değilse Kullanıcı, hesap kimliğini değiştirme seçeneğine sahiptir.

Yanıt

Kullanıcı kimlik doğrulamasını tamamladıktan sonra uygulamanızın bir sonuç göndermesi gerekir bu bilgilerden yararlanabilirsiniz. Kimlik doğrulama başarılı olursa bir intent oluşturun ve ek olarak, şifrelenmiş kodlanmış gspAuthenticationResponse'u da alır. Daha sonra, etkinlik sonucunu uygun sonuç koduna ayarlayın.

...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();

Sonuç

Alanlar
sonuç int

Activity.RESULT_OK
Kimlik doğrulama başarılı oldu.
Activity.RESULT_CANCELED Kullanıcı akışı manuel olarak iptal ettiği için akışın iptal edilmesi gerekiyor.
Activity.RESULT_FIRST_USER Önemli bir nedenden dolayı kimlik doğrulama başarısız oldu. Akışın şu şekilde olması gerekiyor: iptal edildi. IE sunucusu girişte HTTP 500 yanıtı döndürdü.

Ekstralar

Alanlar
gspAuthenticationResponse AuthenticationResponse

Kimlik doğrulama yanıtı. Bu kodlanmış değer 1 KB'ı aşmamalıdır.

Diğer etkinlik gereksinimleri

Yukarıda belirtilen AUTHENTICATE_V1 işlemini destekleyen etkinlik ayrıca API çağrılarının yalnızca Google tarafından imzalanmış uygulamalardan gelip gelmediğini kontrol etmelidir. Bu, diğer uygulamaların etkinliğinizi çağırmasını önlemeye yardımcı olur ve kimlik jetonlarını alma. Bu işlem, sağlanan StandardPaymentUtils.verifyCallingActivityIsGoogleSigned. super.onCreate sonrası hemen Etkinlik hakkında bilgi edindiniz.

Aşağıda örneği verilmiştir:


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);

  ....
}

authenticate akışı içinde çağrılan tüm etkinlikler bir etkinlik sağlamalıdır windowIsTranslucent=true içeren bir tema oluşturabilirsiniz. Bu, AndroidManifest android:theme özelliği ve Context.setTheme() kullanılmıyor. Programatik olarak temanın ayarlanması pencere için doğru şekilde çalışmıyor yarı saydamlık. Google, başlatılan ilk etkinliğin bu ama başlatılan tüm alt etkinliklerin de bu kurala uyması gerekir desen. Aksi takdirde, 3. taraf geliştiricilerden yapılan satın alma işlemleri gerçekleştirilemeyebilir.