cordova - 如何在应用程序启动时检查订阅情况?

标签 cordova firebase ionic-framework firebase-realtime-database ionic2

我真的很喜欢 Ionic 2 应用程序的开发,但目前我的购买流程遇到了一些问题。

当应用启动时,如何检查用户是否进行了有效的购买? 我想实现以下行为:

用户已订阅: -> 显示页面 A

用户没有订阅: -> 显示页面 B

我必须在本地保存订阅信息吗?

** 编辑 **

我使用 firebase 后端,可以将购买的内容存储在那里。

这是我的功能:

buyCoach(productName: string): void {
    console.log(productName);
    InAppPurchase
        .getProducts([productName])
        .then((products) => {
            InAppPurchase
                .buy(productName)
                .then((data)=> {
                    // {
                    //   transactionId: ...
                    //   receipt: ...
                    //   signature: ...
                    // }

                    // maybe store somethign to firebase? But what?
                })
                .catch((err)=> {
                    console.log("error buy");
                    console.log(JSON.stringify(err));
                });
        })
        .catch((err) => {
            console.log("error getProducts");
            console.log(JSON.stringify(err));
        });
}

最佳答案

您需要一个身份验证和授权解决方案。 必须以某种方式识别(经过身份验证)用户。您不需要实现您的,而是可以使用 Facebook、GooglePlus 或 Tweeter 的。您可以使用 Azure 移动应用程序服务,允许您的用户登录这三个服务中的任何一个。

完成上述操作后,您就可以安全地调用您开发的服务,例如用户配置文件服务,它会告诉您用户拥有哪些订阅。

您可以使用 Ionic's Secure Storage 在本地存储此信息用于性能目的的插件

要导航到另一个页面,您可以使用 NavController.push导航到页面。

关于cordova - 如何在应用程序启动时检查订阅情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42034684/

相关文章:

ios - 如何将图像上传到 Firebase Storage 并获取 downloadURL 的链接?

firebase - 我可以在 Firestore 搜索中过滤多个字段吗?

node.js - 错误 SSL 问题 npm WIndows

ios - 对主项目和子项目使用公共(public)变量,如 "Appdelegate"

android - 从服务器下载文件到 Ionic2 App

java - Android AdMob - NoSuchMethodError : No static method zzand()

java - 在 screen_on 上更新 android 小部件的最佳方法是什么。 Android Oreo 是否支持它(API 26)

css - Ionic 应用程序需要哪种字体文件类型

cordova - 错误 "requirecordovamodule"加载非 Cordova 模块 "fs"不受支持

angularjs - Cordova SQLite插件错误代码