I implement by manual https://developers.google.com/pay/api/android/guides/tutorial in Xamarin.Forms + Xamarin.Android. I call in Xamarin.Forms:
DependencyService.Get<IPay>().Pay();
In Xamarin.Android i implement
public class Pay_Droid : IPay
{
public void Pay()
{
...
AutoResolveHelper.ResolveTask(
paymentsClient.LoadPaymentData(request),
this,
LOAD_PAYMENT_DATA_REQUEST_CODE);
...
}
}
but have problem in "this" - need use activity. How to implement?
Firstly, you can create public static MainActivity in MainActivity class, then assign current MainActivity to macvivity in MainActivity OnCreate() method:
public static MainActivity macvivity;
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
macvivity = this;
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
Finally, you can activity by MainActivity.macvivity
public void Pay()
{
...
AutoResolveHelper.ResolveTask(
paymentsClient.LoadPaymentData(request),
MainActivity.macvivity,
LOAD_PAYMENT_DATA_REQUEST_CODE);
...
}