问题标签 [prime31]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android Cloud Save 导致应用程序冻结 20 多秒
当我使用 Prime31 的 PlayGameServices 插件将数据保存到 android 云时,应用程序在 20 多秒内无响应,然后才恢复正常功能。我正在使用最新的 Unity3d 引擎并安装了 Android API 19。 http://prime31.com/docs#androidPlayGameServices
保存数据是一个40k-90k字符的base-64字符串,我用下面的函数保存
- PlayGameServices.setStateData(save_data, 0);
- PlayGameServices.updateCloudDataForKey(0, true);
我用
- PlayGameServices.loadCloudDataForKey(0, true);
冻结的长度与文件的大小相关。文件越大,冻结的时间越长。
我束手无策,试图找出可能导致这种情况的原因!我可以使用字符串压缩将保存的字符串大小减少到 14k-30k 个字符,但这不是一个足够好的解决方案。
感谢您的阅读,
-Mikal Saltveit
ps 这里是我们的 android 清单 http://saltve.it/workstuff/AndroidMainfest.txt
android - Google Android 购买状态 API 响应缺少 developerPayload
我的收据验证服务器已成功使用购买状态 API ( https://developers.google.com/android-publisher/v1_1/inapppurchases/get ) 来验证 IAP 收据,但响应缺少 developerPayload。
几个月来,我一直在使用相同的 API 和相同的服务器代码,而且我总是得到 developerPayload。截至 2014 年 3 月 12 日,它已丢失。
我的回复:
预期的:
任何想法为什么开发人员有效负载可能会丢失?
编辑:这是我的服务器日志中具有开发人员有效负载的最后一个订单:
该订单上的日期是 {3/12/2014 9:05:52 PM}
c# - 将字典或列表转换为字节[]
好的,我在这里和统一论坛上都看到了许多类似的问题,询问有关从一种格式转换为另一种格式的问题。我有一个(希望如此)简单的问题,但我找不到答案。我正在使用 Prime31 的游戏中心插件来处理基于回合的多人游戏。在 Prime31 的插件中,他们要求您提供一个 byte[] 发送给其他玩家。(状态数据)所以问题是,将 List 转换为字节数组然后将它们从字节数组转换回来的好方法是什么?
作为参考,这是一个我需要的复杂类,我可能需要稍后添加更多成员,但不是任何不同的类型。此外,如果这使得将 PokerPlayers 列表转换为 byte[] 变得更容易,那么 int 列表(手牌)很容易成为 4 个单独的 int。此列表中的长度也不是固定的,但始终为 4-8。
我觉得当我看到答案时,我会因为没有早点看到答案而自责。任何指向相关材料的指针/链接都会很不错,我已经在谷歌上搜索了 3 个小时,其中包含类似(非常相似)但不完全相同的问题。
ios - 通过 iOS 的设置屏幕登录时无法登录 Facebook
当未通过系统设置登录 Facebook 时,一切正常。但是,当我已经通过系统设置登录时,我无法通过 Unity3D Prime31 插件登录 Facebook。
在“允许这些应用程序使用您的帐户”选项下,我的应用程序已列出并已启用。在应用程序本身中,当我按下登录按钮时,会弹出一个对话框,说明:“[此处的应用程序名称] 想要访问您的基本个人资料信息和朋友列表”,选项为“不允许”和“确定” '。我按下 OK 按钮,触发了“loginFailedEvent”功能。
在我调用'init'的函数中,我在它之后有这一行:
这是 XCode 中记录的内容:
会话创建错误:错误域=com.facebook.sdk 代码=2“操作无法完成。(com.facebook.sdk 错误 2。)”UserInfo=0x1aa7bc80 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook .sdk:SystemLoginCancelled
任何帮助表示赞赏。
c# - Prime31 socialplugin iOS - 如何附加和共享已存储在我的资产中的图片?
Prime 31 SocialPlugin 问题。
如何附加和共享已存储在我的资产中的图片?我了解所有代码,但我不确定资产中图片的文件路径。
在演示中,插件分享了开头截取的屏幕截图。这在我的游戏中正常工作。
facebook - 如何使用 Prime31 Social 组合插件从 Unity 设置 Facebook 应用请求?
我的问题是,当要求用户从列表中选择朋友并单击发送时,我从回调中收到成功状态,但未从列表中选择的人那里收到任何请求。
我的设置是这样的: - 我的应用是在 Unity 中制作的 iOS 和 Android 原生应用 - 我的应用在 Facebook 开发者门户中注册为 Game/Puzzle,我设置了包 ID、包名称、显示名称和命名空间 - 我的应用是尚未发布 - 我使用 Facebook 提供的 appId 和显示名称配置了 Prime31 Facebook 插件
我这样发送我的请求:
但是朋友选择器仍然正确显示在覆盖窗口上,我选择朋友并发送请求但没有收到请求。
我在 Facebook 上的应用配置中是否遗漏了某些内容?我需要通过某种认证吗?
在同一个应用程序中,stream.publish 工作正常,我可以在用户墙上发布。
ios - 使用 Unity iOS Prime31 StoreKit 插件 (3/14/14)、沙盒、restoreCompletedTransactions() 导致应用程序循环卡住事务 n^2 次
我们的应用程序是在 Unity 中开发的,并针对 iOS 和 Android 构建。对于 iOS 应用内购买,我们使用 Prime31 StoreKit 插件。我们现在使用 5/24/14 版本的插件,但是当我们升级到 3/14/14 版本时,第一次注意到这个问题。
执行某些操作(例如 restoreCompletedTransactions())时会发生该行为。它首先会说“paymentQueueRestoreCompletedTransactionsFinished”并显示有关购买的信息,包括其交易状态。
然后它尝试完成所有待处理的事务。如果有任何卡住的事务(事务在finishTransaction: 被调用后返回),控制台将报告它正在告诉事务完成,但会说0 已经更新,除了第一次,它会说所有其中已更新:
对于 59 笔交易中的每笔交易,它将显示这三行(“完成交易”、“交易完成”、“完成...”),一旦完成所有 59 笔交易,它将重复整个区块,从“productPurchaseAwaitingConfirmationEvent”(具有不同的交易 id)到第 59 笔交易的最后一次“敲定”,总共 59 次。因此,如果有 n 个事务,它将创建 n^2 个日志消息。当我按下该场景中的其他按钮时,例如“获取保存的交易”和“完成所有待处理的交易”,它告诉我有 0 个交易需要保存或完成。
之后,如果它循环遍历所有事务足够多次,它会将所有事务更新为已恢复,将这些行打印 n^2 次:
最后,它将从 paymentQueue 中删除每笔交易,仅打印这些行 n 次(但下次恢复时会重新添加它们):
以下是此行为的问题:
- 循环处理这些事务需要很长时间,并且在发生这种情况时应用程序会挂起。
- 如果 n 足够大(大约超过 25 个事务),应用程序会在循环足够多的时间后耗尽内存并崩溃。当它循环卡在支付队列中的交易时,它会在该部分崩溃。
- 现在每个测试帐户都有一个有限的生命周期。每次使用帐户时,许多事务都可能会卡住,最终帐户可能会变得不可用,因为如果 n 足够大,遍历卡住事务的存储操作将始终崩溃。
该行为发生在 Prime31 插件代码中,并且可以在插件提供的演示场景中重现。
- 创建一个新项目并导入 Prime31 StoreKit 插件包。
- 将您的产品名称放在 StoreKitGUIManager.cs 中的“请求产品数据”按钮部分下。
- 创建一个沙盒商店并用产品填充它(我们有非消耗品和每月订阅以及一周的免费试用期)。
- 设置项目的包 ID 以匹配沙箱的包 ID。
- 将项目的版本号设置为较高的数字(在我们的例子中,它大约是 1200 或更高。我不知道为什么,但我注意到如果版本号设置为 1200 或更高,它会循环更多事务(危险, 可能会崩溃)并且对于 1200 以下的版本(更安全)循环的数量要少得多。我认为这与我们开始使用免费试用的版本一致。)
- 构建到 iOS。
- 创建一个测试用户并让它与您的商店执行许多交易,这应该会在支付队列中累积一些卡住的交易。
- 单击恢复按钮并输入该测试帐户的登录名和密码并观看控制台。
以下是我的问题:
- 这种行为是只发生在沙盒中,还是在实时生产中也会发生?无论哪种方式,我们如何验证它不会在现场制作中发生,或者我们可能做的任何修复都不会破坏现场制作?
- 我们如何解决此问题或创建一种解决方法,使我们能够在不遇到问题的情况下正确恢复事务或其他功能?
- 如果我们可以做到(2),我们可以使用该应用程序并恢复旧帐户的功能,还是我们不再能够使用它们并且必须创建以前没有任何交易的新帐户?
android - 不支持使用带有静态响应的 Prime31 插件测试 Inapp Purchase?
我正在使用静态响应方法和产品 ID为android.test.purchased测试我的 Unity 3D 应用程序的 inappbilling(使用 Prime 31 插件) 。它工作正常,但是当响应成功时,Inapp Listener 类不会返回任何购买成功事件。Prime 31 插件不支持静态响应测试吗? 谁能告诉我这可能是什么原因。
提前致谢!!
facebook - 使用 prime[31] 插件时如何打包 Unity3d 应用程序以供 Facebook 审查?
当我使用 prime[31] 插件时,我无法在模拟器中运行应用程序。而且我无法在模拟器中调用任何 [DllImport ("__Internal")] 函数。我应该如何将我的应用程序打包到 Facebook 进行审核?
错误日志:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_P31", referenced from:
objc-class-ref in FacebookManager.o
objc-class-ref in FacebookBinding.o
objc-class-ref in SharingBinding.o
objc-class-ref in TwitterBinding.o
(maybe you meant: _OBJC_CLASS_$_P31Unity)
"_OBJC_CLASS_$_TwitterManager", referenced from:
objc-class-ref in TwitterBinding.o
"Alg::Compression::Lzma::decode(Alg::Compression::Lzma::CompressPrefix, void*, unsigned long, unsigned char const*, char const*, unsigned long)", referenced from:
Pfx::Asm::Lzma::uncompress(unsigned char*, unsigned long, unsigned char const*, unsigned long) in libiPhone-lib.a(asmlzma.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
facebook - 提交 Unity/Prime31 应用程序进行权限审查 - 无法创建模拟器构建
我们正在开发基于 Unity3D 的 iOS 文字游戏。该游戏使用 Prime31 社交网络插件。问题是我们无法生成模拟器构建,这是 Facebook 权限审查所必需的(我们的应用程序需要 publish_action 权限,对此审查是强制性的)。我们进行了一些研发,并找到了如下解决方案。
http://support.prime31.com/13690/how-to-create-a-package-for-facebook-review?show=13690
我们不确定是否要尝试上述步骤,因此希望您能帮助我们。