Google In App Billing

  • MoseHas
    Likes 0

    Problem Description

    Hi there.

    Thanks to your SonarCocosHelper. I can use gpgs pretty easy with it.

    I know that you are going to add IAB in SonarCocosHelper, for that I really appreciate.

    Unfortunately, it seems that I have to learn IAB immediately due to my deadline.

    Is there any suggestion that I can add IAB in cocos2dx-v3? I have googled and the results are about jnihelper and soomla, but I cannot really understand them

     

    Thank you.

  • Sonar Systems admin
    Likes 0

    Unfortunately Soomla is the best out ATM.


    This reply has been verified.
  • MoseHas
    Likes 0

    Oh well, I will try to understand it. Seems that I have no choice :\

    Thank you.

  • Sonar Systems admin
    Likes 0

    We are working hard to bring this to the community as fast as possible.


    This reply has been verified.
  • MoseHas
    Likes 0

    I am looking forward to it :p

  • Sonar Systems admin
    Likes 0

    As are we :D


    This reply has been verified.
  • MoseHas
    Likes 0

    I give up.

    Have wasted the entire week studying soomla. Still could not work.

    I am now looking for jniHelper usage...

     

  • Sonar Systems admin
    Likes 0

    Stay tuned to our social media for more updates


    This reply has been verified.
  • MoseHas
    Likes 0

    A small question here.

    This is the implementation of JniHelper.cpp in cocos2d folder.

    I stuck for two days but I just modified a single place and it could run iab successfully.

     

    //JniHelper.cpp 
    
    bool JniHelper::getStaticMethodInfo(JniMethodInfo &methodinfo,
                                            const char *className, 
                                            const char *methodName,
                                            const char *paramCode) {
            if ((nullptr == className) ||
                (nullptr == methodName) ||
                (nullptr == paramCode)) {
                return false;
            }
    
            JNIEnv *env = JniHelper::getEnv();
            if (!env) {
                LOGE("Failed to get JNIEnv");
                return false;
            }
                
            jclass classID = _getClassID(className);
            if (! classID) {
                LOGE("Failed to find class %s", className);
                env->ExceptionClear();
                return false;
            }
    		
    		jmethodID methodID = env->GetStaticMethodID(classID, methodName, paramCode);
    		
            if (! methodID) {
                LOGE("Failed to find static method id of %s", methodName);
                env->ExceptionClear();
                return false;
            }
                
            methodinfo.classID = classID;
            methodinfo.env = env;
            methodinfo.methodID = methodID;
            return true;
        }

     

    And I commented out the section.

    if (! methodID) {
                LOGE("Failed to find static method id of %s", methodName);
                env->ExceptionClear();
                return false;
            }

    Without returning false, I did access the iab system. But I do not know why.


    This reply has been verified.
  • Sonar Systems admin
    Likes 0

    Does it work now?


    This reply has been verified.
  • MoseHas
    Likes 0

    Yes, although I did not really buy anything with my real credit card, I could get the iab dialog now.


  • Sonar Systems admin
    Likes 0

    OK COOL


    This reply has been verified.

Login to reply