【问题标题】:Android In-app billing general questionsAndroid 应用内结算一般问题
【发布时间】:2011-07-23 14:03:48
【问题描述】:

我知道应用内计费是 Android 中的新功能,我想使用它,但版本要求让我三思而后行是否值得。如果您提供任何详细实施或使用应用内计费的人的意见,我将不胜感激。

  1. 我还有 10% 的 1.5 个用户。应用内计费需要至少 1.6 才能工作。这是否意味着 1.5 个用户会立即崩溃?如果没有,它在什么时候失败?我不想编写一堆 hacky 代码来保持与 1.5 用户的兼容性。
  2. 如果用户重新安装应用,是否会记住他们购买的应用?
  3. 如果您没有所需的市场版本,它会在什么时候失败?

谢谢。

【问题讨论】:

    标签: android billing


    【解决方案1】:

    关于版本支持,您需要编写一些额外的代码来检测设备操作系统版本(请参阅 android.os.Build.VERSION),因此请确保它可以在 1.5 设备上运行。我强烈建议将该代码隔离在其自己的类中,并且仅在您的版本检查后实例化该类。这样你的代码就会保持干净(不是“hacky”),而且你不会意外地从类字段中引用 1.6+ 类。在我的代码中,我有如下所示的版本测试类:

    public class Android8 {
        private static final String TAG = "Android8";
    
        // public test variables
        public static final boolean IS_V8;
        public static final boolean AT_LEAST_V8;
    
        private static final Object pimpl;
    
        static {
            int sdk_int = 0;
            try {
                Field field = Build.VERSION.class.getField( "SDK" );
                String sdk_str = (String)field.get( null );
                sdk_int = Integer.parseInt( sdk_str );
            } catch( Throwable e ) {
            }
    
            IS_V8 = (sdk_int==8);
            AT_LEAST_V8 = (sdk_int>=8);
    
            if( AT_LEAST_V8 ) {
                pimpl = new Implementation();
            } else {
                pimpl = null;
            }
        }
    
        // Version safe interface
        public static void Camera_setDisplayOrientation( Camera camera, int degrees ) {
            if( AT_LEAST_V8 )
                ((Implementation)pimpl).Camera_setDisplayOrientation( camera, degrees );
        }
    
        // Will cause a verify error if loaded in a pre Android8 environment
        private static final class Implementation {
            public static void Camera_setDisplayOrientation( Camera camera, int degrees ) {
                camera.setDisplayOrientation( degrees );
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      问题 2:否,如果项目未管理。是的,如果他们是的话。 这就是托管商品的重点,让 Google 的服务器管理(记住)此类案例所购买的商品。

      (如果您要销售游戏关卡或应用程序功能等物品,“按用户帐户管理”购买类型很有用。这些物品不是暂时的,通常需要在用户重新安装您的应用程序时恢复,擦除数据他们的设备,或在新设备上安装您的应用程序。)

      来自:http://developer.android.com/guide/market/billing/billing_admin.html#billing-purchase-type

      【讨论】:

        猜你喜欢
        • 2011-10-30
        • 2011-07-02
        • 1970-01-01
        • 2012-01-06
        • 2012-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多