应用程序内购买的问题。当前不存在名称“DependencyService”

白猩猩

我尝试如何在我的项目中实现可消耗的应用内购买。

教程:

购买耗材

保护应用内购买

我已经阅读了这些教程,但我不知道 DependencyService、Debug 和 Device 是什么。我收到以下错误消息:

错误 CS0103:当前上下文中不存在名称“DependencyService”(CS0103) 错误 CS0103:当前上下文中不存在名称“设备”(CS0103) 错误 CS0103:当前上下文中不存在名称“调试”上下文 (CS0103)

另外,我不明白这行代码是什么意思。为什么我们要检查 Device.RuntimePlatform == Device.iOS ?如果是真的我该怎么办,如果是假的我该怎么办?

 if(Device.RuntimePlatform == Device.iOS)
            return;

这就是我在我的项目中实现代码的方式:

 string payload = "apppayload";
    public async Task<bool> PurchaseItem(string productId, string payload)
    {
        if (!CrossInAppBilling.IsSupported)
            return false;

        var billing = CrossInAppBilling.Current;
        try
        {
            var connected = await billing.ConnectAsync(ItemType.InAppPurchase);
            if (!connected)
            {
                //we are offline or can't connect, don't try to purchase
                return false;
            }

            var verify = DependencyService.Get<IInAppBillingVerifyPurchase>();

            //check purchases
            var purchase = await billing.PurchaseAsync(productId, ItemType.InAppPurchase, payload, verify);

            //possibility that a null came through.
            if (purchase == null)
            {
                //did not purchase
            }
            else if (purchase.State == PurchaseState.Purchased)
            {
                //purchased, we can now consume the item or do it later

                //If we are on iOS we are done, else try to consume the purchase
                //Device.RuntimePlatform comes from Xamarin.Forms, you can also use a conditional flag or the DeviceInfo plugin
                if (Device.RuntimePlatform == Device.iOS)
                    return false;

                var consumedItem = await CrossInAppBilling.Current.ConsumePurchaseAsync(purchase.ProductId, purchase.PurchaseToken);

                if (consumedItem != null)
                {
                    //Consumed!!
                }
            }
        }
        catch (InAppBillingPurchaseException purchaseEx)
        {
            //Billing Exception handle this based on the type
            Debug.WriteLine("Error: " + purchaseEx);
        }
        catch (Exception ex)
        {
            //Something else has gone wrong, log it
            Debug.WriteLine("Issue connecting: " + ex);
        }
        finally
        {
            await billing.DisconnectAsync();
        }

        return false;
    }
军团

嗯...“DependencyService”和“Device”是 Xamarin.Forms 的子类,所以如果你还没有这样做,请添加:

using Xamarin.Forms;

在你的代码之上

如果 DependencyService/Debug 仍然不存在,我认为您在错误的项目中,您需要在“便携式”项目中使用它,而不是在与操作系统相关的项目中。尝试研究跨平台 xamarin 项目的工作原理:)

军团-

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF应用程序的当前上下文中不存在名称“ InitializeComponent”

来自分类Dev

控制台应用程序中的“名称'进程'在当前上下文中不存在”错误

来自分类Dev

名称“控制台”在xamarin表单应用程序的当前上下文中不存在

来自分类Dev

Windows Phone应用程序导航错误:当前上下文中不存在NavigationService

来自分类Dev

在 javafx 应用程序中嵌入 derby 的 jdbc:表/视图“表名称”不存在异常

来自分类Dev

为什么我的拍动应用程序显示“名称为__FIRAPP_DEFAULT的应用程序不存在”。

来自分类Dev

Django-自己的应用程序不存在ContentType

来自分类Dev

Android构建应用程序:gradlew不存在

来自分类Dev

xcode sumbission您选择的应用程序不存在

来自分类Dev

Rails应用程序尝试更新不存在的列

来自分类Dev

iOS:不存在的指针正在崩溃的应用程序

来自分类Dev

Rails应用程序Postgres角色不存在

来自分类Dev

当前内容中不存在名称

来自分类Dev

将Twitterizer与C#桌面应用程序一起使用“名称请求不存在...”

来自分类Dev

UWP“当前上下文中不存在名称调度程序”

来自分类Dev

Android应用程序说该文件不存在,但确实存在。我需要安装

来自分类Dev

在C#Web应用程序中使用泛型时,initializecomponent()在当前上下文中不存在

来自分类Dev

在 C# ExcelApp 析构函数中,我收到错误“当前上下文中不存在该应用程序”

来自分类Dev

名称在当前上下文中不存在

来自分类Dev

当前上下文中不存在名称“ ConfigureAuth”

来自分类Dev

名称“”在当前上下文中不存在

来自分类Dev

当前上下文错误中不存在名称

来自分类Dev

当前上下文错误中不存在名称

来自分类Dev

当前上下文中不存在名称“name”

来自分类Dev

当前上下文中不存在名称 htmlMessageBody

来自分类Dev

当前上下文中不存在名称“Monsters”

来自分类Dev

当前上下文中不存在名称“img”

来自分类Dev

当前上下文中不存在名称“Master”

来自分类Dev

当前上下文中不存在名称属性?

Related 相关文章

  1. 1

    WPF应用程序的当前上下文中不存在名称“ InitializeComponent”

  2. 2

    控制台应用程序中的“名称'进程'在当前上下文中不存在”错误

  3. 3

    名称“控制台”在xamarin表单应用程序的当前上下文中不存在

  4. 4

    Windows Phone应用程序导航错误:当前上下文中不存在NavigationService

  5. 5

    在 javafx 应用程序中嵌入 derby 的 jdbc:表/视图“表名称”不存在异常

  6. 6

    为什么我的拍动应用程序显示“名称为__FIRAPP_DEFAULT的应用程序不存在”。

  7. 7

    Django-自己的应用程序不存在ContentType

  8. 8

    Android构建应用程序:gradlew不存在

  9. 9

    xcode sumbission您选择的应用程序不存在

  10. 10

    Rails应用程序尝试更新不存在的列

  11. 11

    iOS:不存在的指针正在崩溃的应用程序

  12. 12

    Rails应用程序Postgres角色不存在

  13. 13

    当前内容中不存在名称

  14. 14

    将Twitterizer与C#桌面应用程序一起使用“名称请求不存在...”

  15. 15

    UWP“当前上下文中不存在名称调度程序”

  16. 16

    Android应用程序说该文件不存在,但确实存在。我需要安装

  17. 17

    在C#Web应用程序中使用泛型时,initializecomponent()在当前上下文中不存在

  18. 18

    在 C# ExcelApp 析构函数中,我收到错误“当前上下文中不存在该应用程序”

  19. 19

    名称在当前上下文中不存在

  20. 20

    当前上下文中不存在名称“ ConfigureAuth”

  21. 21

    名称“”在当前上下文中不存在

  22. 22

    当前上下文错误中不存在名称

  23. 23

    当前上下文错误中不存在名称

  24. 24

    当前上下文中不存在名称“name”

  25. 25

    当前上下文中不存在名称 htmlMessageBody

  26. 26

    当前上下文中不存在名称“Monsters”

  27. 27

    当前上下文中不存在名称“img”

  28. 28

    当前上下文中不存在名称“Master”

  29. 29

    当前上下文中不存在名称属性?

热门标签

归档