Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Prime31 Android Plugins Officially Live!

Discussion in 'Android' started by prime31, Jun 6, 2011.

  1. Gruguir

    Gruguir

    Joined:
    Nov 30, 2010
    Posts:
    340
    @Prime31 :
    I use your Android AdMob plugin for one project that require screen rotation (called by script only).
    I also create the ad banner by script. Is there a way to keep banner display while rotating screen - is this a planned feature ?

    Another question, i would like to use other plugins, but i'm using unityscript.
    I modified "AdMobAndroidEventListener.cs" adding "SendMessage" functions pointing to my main script.
    It works well with the AdMob plugin, and i can now catch events but will it work with another (like In App Billing ) ?
     
  2. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @griguir, the Activity is recreated on orientation changes so you have to recreate the banner. Events work perfectly fine from both C# and UnityScript.
     
  3. feak1

    feak1

    Joined:
    Oct 14, 2010
    Posts:
    6
    i have a problem with integrating prime 31 in-app for android with OpenFeint.
    OpenFeint crashes the game since i installed the in-app plugin.i Know i have to do something with the Manifest in order to make it work, but what exactly needs to change?
     
  4. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @feak1, you will have to generate a manifest using our Prime31 menu item then manually add in any necessary entries for OpenFeint.
     
  5. feak1

    feak1

    Joined:
    Oct 14, 2010
    Posts:
    6
    i already generated and merged the manifest, its what do i need to integrate to the manifest that i dont know.Theres 3 manifest (AndroidManifest,Manifest and UnityManifest) .Which one and what line of code do i enter?
     
  6. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @feak1, Unity will always use the AndroidManifest.xml file. I cannot tell you what you need to add to it for OpenFient. You will need to contact them for the details of what they require.
     
  7. feak1

    feak1

    Joined:
    Oct 14, 2010
    Posts:
    6
    i got it to work!!! i had to copy the <activty> and the <permission> of my old AndroidManifest (the one with OpenFeint) and paste it into the new one generated by the In-app plugin...
     
  8. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @fcloss, I believe I already responded to your email. In the future one support medium for requests is more than enough. No need to double post.
     
  9. fcloss

    fcloss

    Joined:
    Dec 1, 2011
    Posts:
    192
    Sorry @prime31. I deleted the post here, but not fast enought.

    Thanks again and sorry for that.
     
  10. Deleted User

    Deleted User

    Guest


    I bought the In App Billing Plugin today (so I have the latest version) and I'm experiencing this exact same problem: The "purchaseSucceededEvent" isn't executed at all. This means I don't know if the purchase is ok or not. "purchaseCancelledEvent" is fired.

    I have the Keystore setup and Android Market Licensing (LVL) public key copied from Android Market.
    I haven't set up the real in app purchases yet.

    What could be the problem?

    Below is my log. This is just after I clicked "Buy" on the device.

    Code (csharp):
    1. 03-09 15:59:38.007: INFO/Prime31-BS(2242): BillingService constructor
    2. 03-09 15:59:38.007: INFO/Prime31-BS(2242): billing service bound in onBind
    3. 03-09 15:59:38.017: INFO/Prime31(2242): service onServiceConnected
    4. 03-09 15:59:38.068: DEBUG/dalvikvm(2242): GC_FOR_MALLOC freed 7668 objects / 376056 bytes in 45ms
    5. 03-09 15:59:38.127: DEBUG/Finsky(1927): [6] MarketBillingService.getPreferredAccount: com.cheezia.gearsoffur: Account from first account.
    6. 03-09 15:59:38.137: INFO/Prime31-BS(2242): CheckBillingSupported response code: RESULT_OK
    7. 03-09 15:59:38.137: INFO/Prime31(2242): billing supported: true
    8. 03-09 15:59:38.197: DEBUG/Finsky(1927): [7] MarketBillingService.getPreferredAccount: com.cheezia.gearsoffur: Account from first account.
    9. 03-09 15:59:38.208: DEBUG/Finsky(1927): [7] MarketBillingService.getPreferredAccount: com.cheezia.gearsoffur: Account from first account.
    10. 03-09 15:59:38.228: INFO/ActivityManager(96): Starting activity: Intent { act=android.intent.action.VIEW cmp=com.android.vending/com.google.android.finsky.activities.IabActivity (has extras) }
    11. 03-09 15:59:38.238: DEBUG/PhoneWindow(2242): couldn't save which view has focus because the focused view com.unity3d.player.UnityPlayer$13@46351a08 has no id.
    12. 03-09 15:59:38.507: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x5da030), pid=1927, w=1, h=1
    13. 03-09 15:59:38.507: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x5da030), pid=1927, w=1, h=1
    14. 03-09 15:59:38.527: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x5da030), index=0, pid=1927, w=800, h=480 success
    15. 03-09 15:59:38.567: WARN/InputManagerService(96): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@46661680 (uid=10065 pid=2242)
    16. 03-09 15:59:38.567: WARN/IInputConnectionWrapper(2242): showStatusIcon on inactive InputConnection
    17. 03-09 15:59:38.588: DEBUG/Finsky(1927): [1] SelfUpdateScheduler.checkForSelfUpdate: Skipping self-update. Local Version [8010007] >= Server Version [0]
    18. 03-09 15:59:38.617: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x5da030), index=1, pid=1927, w=800, h=480 success
    19. 03-09 15:59:38.717: INFO/ActivityManager(96): Displayed activity com.android.vending/com.google.android.finsky.activities.IabActivity: 321 ms (total 321 ms)
    20. 03-09 15:59:38.758: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x5da030), index=0, pid=1927, w=800, h=480 success
    21. 03-09 15:59:38.787: INFO/ElegantRequestDirector(1927): I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond
    22. 03-09 15:59:38.787: INFO/ElegantRequestDirector(1927): Retrying request
    23. 03-09 15:59:38.868: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x5da030), index=1, pid=1927, w=800, h=480 success
    24. 03-09 15:59:39.147: DEBUG/dalvikvm(1927): GC_FOR_MALLOC freed 6589 objects / 466424 bytes in 52ms
    25. 03-09 15:59:39.758: WARN/Finsky(1927): [1] CarrierParamsAction.run: Saving carrier billing params failed.
    26. 03-09 15:59:39.767: DEBUG/Finsky(1927): [1] CarrierProvisioningAction.shouldFetchProvisioning: Required CarrierBillingParams missing. Shouldn't fetch provisioning.
    27. 03-09 15:59:39.777: DEBUG/Finsky(1927): [1] CarrierProvisioningAction.run: No need to fetch provisioning from carrier.
    28. 03-09 15:59:39.777: DEBUG/Finsky(1927): [1] GetBillingCountriesAction.run: Skip getting fresh list of billing countries.
    29. 03-09 15:59:39.888: DEBUG/GoogleLoginService(256): onBind: Intent { act=android.accounts.AccountAuthenticator cmp=com.google.android.gsf/.loginservice.GoogleLoginService }
    30. 03-09 15:59:40.437: DEBUG/dalvikvm(256): GC_FOR_MALLOC freed 5595 objects / 405000 bytes in 45ms
    31. 03-09 15:59:40.437: DEBUG/NativeCrypto(256): Freeing OpenSSL session
    32. 03-09 15:59:40.577: DEBUG/Finsky(1927): [1] CarrierProvisioningAction.shouldFetchProvisioning: Required CarrierBillingParams missing. Shouldn't fetch provisioning.
    33. 03-09 15:59:40.587: DEBUG/Finsky(1927): [1] CarrierProvisioningAction.run: No need to fetch provisioning from carrier.
    34. 03-09 15:59:40.827: DEBUG/PowerManagerService(96): New lightsensor value:160, lcdValue:160
    35. 03-09 15:59:41.358: INFO/AudioHardwareQSD(67): AudioHardware pcm playback is going to standby.
    36. 03-09 15:59:43.857: DEBUG/dalvikvm(533): GC_EXPLICIT freed 204 objects / 11728 bytes in 73ms
    37. 03-09 15:59:44.197: VERBOSE/AlarmManager(96): Adding Alarm{46519068 type 2 com.google.android.gsf} Jan 01 04:47:34 am
    38. 03-09 15:59:44.257: DEBUG/NativeCrypto(1927): Freeing OpenSSL session
    39. 03-09 15:59:44.257: DEBUG/dalvikvm(1927): GC_FOR_MALLOC freed 15567 objects / 815944 bytes in 61ms
    40. 03-09 15:59:44.267: DEBUG/Finsky(1927): [1] PurchaseFragment.onStateChange: Finished purchase with ID https://android.clients.google.com/fdfe/purchaseStatus?doc=inapp:com.cheezia.gearsoffur:android.test.purchased&order=transactionId.android.test.purchased
    41. 03-09 15:59:44.397: INFO/Prime31-BS(2242): handleCommand() action: com.android.vending.billing.GET_PURCHASE_INFORMATION
    42. 03-09 15:59:44.417: DEBUG/Finsky(1927): [6] MarketBillingService.getPreferredAccount: com.cheezia.gearsoffur: Account from first account.
    43. 03-09 15:59:44.467: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x4547e0), pid=1927, w=1, h=1
    44. 03-09 15:59:44.467: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x4547e0), pid=1927, w=1, h=1
    45. 03-09 15:59:44.477: DEBUG/AudioPolicyManagerBase(67): startOutput() output 1, stream 3
    46. 03-09 15:59:44.487: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x5ffe78), pid=2242, w=800, h=480
    47. 03-09 15:59:44.498: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x5ffe78), pid=2242, w=800, h=480
    48. 03-09 15:59:44.507: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x4547e0), index=0, pid=1927, w=458, h=85 success
    49. 03-09 15:59:44.527: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x5ffe78), index=0, pid=2242, w=800, h=480 success
    50. 03-09 15:59:44.687: INFO/AudioHardwareQSD(67): AUDIO_START: start kernel pcm_out driver.
    51. 03-09 15:59:44.687: WARN/AudioFlinger(67): write blocked for 212 msecs, 21 delayed writes, thread 0x15408
    52. 03-09 15:59:44.787: DEBUG/Finsky(1927): [1] MarketBillingService.sendResponseCode: Sending response RESULT_OK for request 7725215232651674824 to com.cheezia.gearsoffur.
    53. 03-09 15:59:47.487: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x5ffe78), index=1, pid=2242, w=800, h=480 success
    54. 03-09 15:59:50.077: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x4547e0), pid=2242, w=800, h=480
    55. 03-09 15:59:50.077: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x4547e0), pid=2242, w=800, h=480
    56. 03-09 15:59:50.237: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x4547e0), index=0, pid=2242, w=800, h=480 success
    57. 03-09 15:59:50.277: INFO/Prime31-BS(2242): handleCommand() action: com.android.vending.billing.PURCHASE_STATE_CHANGED
    58. 03-09 15:59:50.308: INFO/Prime31-BS(2242): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    59. 03-09 15:59:50.457: DEBUG/Finsky(1927): [1] MarketBillingService.sendResponseCode: Sending response RESULT_OK for request 7236808625711324435 to com.cheezia.gearsoffur.
    60. 03-09 15:59:50.468: DEBUG/Finsky(1927): [1] PendingNotificationsService.setMarketAlarm: Setting alarm for account=jyri.kilpelainen@gmail.com, duration=120000
    61. 03-09 15:59:50.507: INFO/Prime31-BS(2242): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    62. 03-09 15:59:50.507: INFO/Prime31-RS(2242): responseCodeReceived: RESULT_OK
    63. 03-09 15:59:50.507: INFO/Prime31(2242): android.test.purchased: RESULT_OK
    64. 03-09 15:59:50.507: INFO/Prime31(2242): purchase was successfully sent to server
    65. 03-09 15:59:55.547: DEBUG/dalvikvm(1223): GC_EXPLICIT freed 96 objects / 3928 bytes in 46ms
    66. 03-09 16:00:00.067: ERROR/ClockWidget(2088): weatherClock onReceive~ mUseAnimation:false
    67. 03-09 16:00:07.628: DEBUG/dalvikvm(313): GC_EXPLICIT freed 399 objects / 19504 bytes in 83ms
    68. 03-09 16:00:16.637: DEBUG/dalvikvm(471): GC_EXPLICIT freed 5944 objects / 322536 bytes in 86ms
    69. 03-09 16:00:22.627: DEBUG/dalvikvm(321): GC_EXPLICIT freed 731 objects / 34296 bytes in 81ms
     
  11. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @sh13ld, in order to get the test products to validate and fire events the things required are: sign your app with a non debug keystore, make sure your public key sent to unit is correct, make sure your bundle ID matches the one setup in the Market website. Lately Google has not been responding for some people unless they upload their apk as well (but don't publish it!). Lastly, for any real testing you need to use test users setup on the Google Checkout website and factory reset your device to login with the test user.
     
  12. Deleted User

    Deleted User

    Guest

    Thanks for the quick reply! I'll check those things and report back.
     
  13. suppenhuhn

    suppenhuhn

    Joined:
    Dec 15, 2011
    Posts:
    37
    @prime: here i'm ;-)

    so the problem is using the photo prompt will application crash after loading the qualcomm plugin. if i generate the andoidmanifest again via the prime menu -> application won't crash, your prompt works fine but the qualcomm-camera stays black ( no camera streamed background ).

    can't attach the xml here
     
    Last edited: Mar 10, 2012
  14. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @supp, it is quite possible Qualcomm is holding onto the hardware so both things won't be able to access it. To test you will need to manually merge their manifest with the one generated by the plugin.
     
  15. suppenhuhn

    suppenhuhn

    Joined:
    Dec 15, 2011
    Posts:
    37
    ok, so i have no glue which nodes i should copy into the generated one - but i'll try ;-) but first i have to do a lot of reading what this xml is about ( first time ever i opend that file )
     
    Last edited: Mar 10, 2012
  16. suppenhuhn

    suppenhuhn

    Joined:
    Dec 15, 2011
    Posts:
    37
    @prime: merged the manifests and TATA .. it works !!!! YEAH :)

    thank you!

    but one question in advance: will there be an similar scenario with ios?
     
    Last edited: Mar 10, 2012
  17. Deleted User

    Deleted User

    Guest

    Yep, thanks for these instructions. They worked and I got the in app purchases (both test and real ones) to work.

    Maybe you should mention and highlight these steps in the instructions on your site? You know, for dummies like me... ;-)
     
  18. Deleted User

    Deleted User

    Guest

    @prime:
    Now I'm having an interesting error:

    Code (csharp):
    1.  
    Background info:

    - App is created in Android Market but not published. I've created one in app purchase which is activated.
    - I'm using non-debug keystore and key. Public key is copied from Android Market account details.
    - Purchasing the in app purchase works fine. It fires the events like it should.

    This error occurs when the purchase is cancelled from seller's Google Checkout account and the app is not running.

    The steps are:

    1. I push "Back" button in the app. This executes OnApplicationQuit() which executes IABAndroid.stopBillingService();
    2. Returns to Android home screen
    3. I cancel the order from seller's Google Checkout account
    4. The error shows immediately in Android log and the purchaseCancelledEvent() / purchaseRefundedEvent() event is NOT fired

    The interesting thing is that if exit the app by clicking "Home" button and cancel the purchase from GC, those events are fired (same thing if I'm in the app and cancel the purchase from GC).
     
  19. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @sh13ld, it looks like when the billing service got woken up it was immediately shutdown. What Android version and device are you testing with?
     
  20. Deleted User

    Deleted User

    Guest

    I was testing with HTC Desire. Don't remember the Android version (the phone is at the office) but I think it's some Gingerbread build.
     
  21. Deleted User

    Deleted User

    Guest

    @prime: Actually the Android version is 2.2. The phone model is HTC Desire A8181.

    I will test the functionality today with other Android devices and let you know if they have the same problem as well.
     
    Last edited by a moderator: Mar 13, 2012
  22. Deleted User

    Deleted User

    Guest

    I can confirm that the problem occurs also on HTC Sensation Z710e running stock Android 2.3.3.
     
  23. Masashi-Wada

    Masashi-Wada

    Joined:
    Jul 6, 2010
    Posts:
    87
    Hi prime!
    We thank your repeated help.

    We showed the Facebook login dialog and app_icon.png was seen put on the upper left corner.
    Although we think that the display of close.png of this is a correct answer, can this icon display be fixed by us?

    SocialNetworkingAndroid_2012-01-27
    Android SDK: last ver
    unity 3.4.2
     
  24. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Masashi, does touching it close the dialog? There is already a close button on the other side so we usually put our own icon in that slot.
     
  25. Masashi-Wada

    Masashi-Wada

    Joined:
    Jul 6, 2010
    Posts:
    87
  26. pahe

    pahe

    Joined:
    May 10, 2011
    Posts:
    542
    Hi.

    I have a small problem with the InAppBilling plugin for android. When opening the app store and canceling the purchase my app won't open the app store for a second time. I have to kill it manually and restart the app to get to the store again. Someone has a hint what I could have forgotten? Maybe something in the Java classes? All event handlers are messaging me, but I get no error message when closing the store window.

    Thx for help

    Edit:
    Somehow the actual purchase is very slow and it seems that my app does not get a callback from the store.
     
  27. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @pahe, firstly make sure you have the latest version of the plugin. Purchases can be very slow sometimes taking hours if carrier billing is used for the purchase. I cannot reproduce the store not opening after canceling. Are you testing with the demo scene? Can you include the buttons you are pressing along with a logcat log?
     
  28. mattbenic

    mattbenic

    Joined:
    Nov 24, 2010
    Posts:
    38
    Hi Prime31,
    We're using the Android and iOS Flurry plugins, and we recently go this mail from the Flurry support team:

    Are there any changes we can make directly to our plugins, or will you be releasing an update-or do we not need to worry at all :)

    Thanks,
    Matt
     
  29. pahe

    pahe

    Joined:
    May 10, 2011
    Posts:
    542
    Hi. Ok, found the problem. Somehow my IAP prefabs were broken. I replaced them and now I can get back to my app and try to purchase the item again. Sadly the IAP purchase always fails. This is what logcat throws out:

    Code (csharp):
    1.  
    2. 03-19 10:50:25.050: I/Unity(1366): (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/Export/Generated/UnityEngineDebug.cpp Line: 34)
    3. 03-19 10:50:25.062: D/Finsky(552): [7] MarketBillingService.getPreferredAccount: <appname removed>: Account from first account.
    4. 03-19 10:50:25.066: D/Finsky(552): [7] MarketBillingService.getPreferredAccount: <appname removed>: Account from first account.
    5. 03-19 10:50:25.074: I/ActivityManager(115): Starting: Intent { act=android.intent.action.VIEW cmp=com.android.vending/com.google.android.finsky.activities.IabActivity (has extras) } from pid -1
    6. 03-19 10:50:25.078: D/PhoneWindow(1366): couldn't save which view has focus because the focused view com.unity3d.player.UnityPlayer$13@40589080 has no id.
    7. 03-19 10:50:25.257: D/Finsky(552): [1] SelfUpdateScheduler.checkForSelfUpdate: Skipping self-update. Local Version [8010007] >= Server Version [0]
    8. 03-19 10:50:25.378: D/dalvikvm(115): GC_EXTERNAL_ALLOC freed 318K, 52% free 5706K/11847K, external 2622K/2693K, paused 55ms
    9. 03-19 10:50:25.378: W/InputManagerService(115): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@40a53528 (uid=10055 pid=1366)
    10. 03-19 10:50:25.445: I/ActivityManager(115): Displayed com.android.vending/com.google.android.finsky.activities.IabActivity: +266ms
    11. 03-19 10:50:25.453: I/dalvikvm(552): Jit: resizing JitTable from 4096 to 8192
    12. 03-19 10:50:25.515: W/Finsky(552): [1] CarrierParamsAction.run: Saving carrier billing params failed.
    13. 03-19 10:50:25.523: D/Finsky(552): [1] CarrierProvisioningAction.shouldFetchProvisioning: Required CarrierBillingParams missing. Shouldn't fetch provisioning.
    14. 03-19 10:50:25.527: D/Finsky(552): [1] CarrierProvisioningAction.run: No need to fetch provisioning from carrier.
    15. 03-19 10:50:25.527: D/Finsky(552): [1] GetBillingCountriesAction.run: Skip getting fresh list of billing countries.
    16. 03-19 10:50:27.156: D/Finsky(552): [1] CarrierProvisioningAction.shouldFetchProvisioning: Required CarrierBillingParams missing. Shouldn't fetch provisioning.
    17. 03-19 10:50:27.156: D/Finsky(552): [1] CarrierProvisioningAction.run: No need to fetch provisioning from carrier.
    18. 03-19 10:50:28.285: D/AudioHardware(75): AudioHardware pcm playback is going to standby.
    19. 03-19 10:50:28.285: D/AudioHardware(75): closePcmOut_l() mPcmOpenCnt: 1
    20. 03-19 10:50:28.460: E/Volley(552): [13] BasicNetwork.performRequest: Unexpected response code 500 for https://android.clients.google.com/fdfe/purchase
    21. 03-19 10:50:28.464: W/Finsky(552): [1] CheckoutPurchase.onErrorResponse: DisplayErrorMessage[Ihre Bestellung wird verarbeitet. Der Artikel ist in wenigen Minuten verfügbar.]
    22. 03-19 10:50:28.464: E/Finsky(552): [1] CheckoutPurchase.setError: type=UNKNOWN, code=-1, message=Ihre Bestellung wird verarbeitet. Der Artikel ist in wenigen Minuten verfügbar.
    23. 03-19 10:50:33.835: D/dalvikvm(1366): GC_EXPLICIT freed 822K, 42% free 5317K/9031K, external 1633K/2825K, paused 119ms
    24. 03-19 10:50:38.296: W/InputManagerService(115): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4074e128
    25. 03-19 10:50:38.351: D/AudioHardware(75): AudioHardware pcm playback is exiting standby.
    26. 03-19 10:50:38.351: D/AudioHardware(75): openPcmOut_l() mPcmOpenCnt: 0
    27. 03-19 10:50:38.367: D/Unity(1366): Creating OpenGL ES 2.0 context (RGB16 565 24/8)
    28. 03-19 10:50:38.437: W/AudioFlinger(75): write blocked for 84 msecs, 16 delayed writes, thread 0xcb08
    29. 03-19 10:50:41.472: I/global(552): Loaded time zone names for en_US in 821ms.
    30. 03-19 10:50:45.855: D/Finsky(552): [1] MarketBillingService.sendResponseCode: Sending response RESULT_ERROR for request 664300146262343176 to <appname removed>.
    31. 03-19 10:50:45.863: D/Finsky(552): [1] PendingNotificationsService.setMarketAlarm: Setting alarm for account=chwildfires@googlemail.com, duration=120000
    32.  
    33. 03-19 10:50:45.902: I/Prime31-BS(1366): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    34. 03-19 10:50:45.902: I/Prime31-RS(1366): responseCodeReceived: RESULT_ERROR
    35. 03-19 10:50:45.902: I/Prime31(1366): full_content_unlock: RESULT_ERROR
    36. 03-19 10:50:45.906: I/Prime31(1366): purchase failed with responseCode: RESULT_ERROR
    37. 03-19 10:50:45.910: I/Unity(1366): purchase failed. param: full_content_unlock
    38. 03-19 10:50:45.910: I/Unity(1366): UnityEngine.Debug:Internal_Log(Int32, String, Object)
    39. 03-19 10:50:45.910: I/Unity(1366): UnityEngine.Debug:Log(Object)
    40. 03-19 10:50:45.910: I/Unity(1366): PurchaseSystemBase:PurchaseFail(String)
    41. 03-19 10:50:45.910: I/Unity(1366): PurchaseSystemImplAndroid:IABAndroidManager_purchaseFailedEvent(String)
    42. 03-19 10:50:45.910: I/Unity(1366): System.Action`1:invoke_void__this___string(String)
    43. 03-19 10:50:45.910: I/Unity(1366): IABAndroidManager:purchaseFailed(String)
    44.  
    Could it be a problem with the payment settings on my android device?
     
    Last edited: Mar 19, 2012
  30. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Matt, the Flurry Plugin received an update over the weekend but that only affects iOS and this is the Android forum.


    @pahe, it looks like there was an internal 400 error in that log along with some carrier billing issues. You will need to open a bug with Google as that is all internal to their payment system.
     
  31. C4MProdDev

    C4MProdDev

    Joined:
    Jul 9, 2009
    Posts:
    107
    Hi Prime31,
    I'm currently trying to use your flurry plugin for Android but I have some trouble.
    The flurry web site is receiving my session but not my events.
    I'm doing like this : I have a singleton (my plugin manager) that have in its awake function DontDestroyOnLoad(this) and FlurryAndroid.onStartSession("mykey");

    In its OnDisable function, I put FlurryAndroid.onEndSession();

    And finally, in some places, I call FlurryAndroid.logEvent("myevent");

    Do you know what I would make wrong please?

    Thanks in advance,

    Adrien
     
  32. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Fylen, events often don't get sent out until the next launch. If you watch the logcat logs you will see when Flurry sends the events. Once they are sent it usually just takes a few hours for them to show up in the web portal.
     
  33. C4MProdDev

    C4MProdDev

    Joined:
    Jul 9, 2009
    Posts:
    107
    @Prime31, thank for you tips, but I tried to play today, and now I have again my new session but not my events, even thus from yesterday.
    I will check if I forget something but if you think I did something wrong from what I said yesterday, tell me ^^
     
  34. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Fylen, did you have a look at the logcat logs to make sure Flurry is sending the data successfully?
     
  35. C4MProdDev

    C4MProdDev

    Joined:
    Jul 9, 2009
    Posts:
    107
    @Prime31, hum the logs told me that a session last 20 sec and then stop automatically. Is there by default a session time limit?
     
  36. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Fylen, 20 seconds would be an awfully short default session. Have you tried importing the plugin into an empty project and using only the demo scene? That will let you isolate things and see what logs result from a fully functional example.
     
  37. C4MProdDev

    C4MProdDev

    Joined:
    Jul 9, 2009
    Posts:
    107
    @ I will try thaht, thanks for your anwers
     
  38. mattbenic

    mattbenic

    Joined:
    Nov 24, 2010
    Posts:
    38
    @Prime31 Erm, yeah.. apologies for the wrong forum, just followed search :p I'll get in touch by mail about the update.
     
  39. C4MProdDev

    C4MProdDev

    Joined:
    Jul 9, 2009
    Posts:
    107
    @Prime31, thanks for your help, I found the problem ^^

    In fact, OnDisable is called even on a script whitch has DontDestroyOnLoad.
    So I put the method onEndSession() in the method OnDestroy() whitch is called only when the aplication is quit
    Now everything works fine.

    Thank you a lot
     
  40. pahe

    pahe

    Joined:
    May 10, 2011
    Posts:
    542
    Ok, thanks for help so far. I could now test the testiaps, but when I'm trying to buy my real IAP I get an error message:

    Code (csharp):
    1. 03-22 11:12:51.995: I/Prime31-BS(2034): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    2. 03-22 11:12:51.995: I/Prime31-RS(2034): responseCodeReceived: RESULT_OK
    3. 03-22 11:12:51.995: I/Prime31(2034): full_content_unlock: RESULT_OK
    4. 03-22 11:12:51.995: I/Prime31(2034): purchase was successfully sent to server
    5. 03-22 11:12:51.999: D/Finsky(1902): [1] PendingNotificationsService.setMarketAlarm: Setting alarm for account=<accountmail>@googlemail.com, duration=120000
    6. 03-22 11:12:52.667: D/Finsky(1902): [13] PendingNotificationsService.setMarketAlarm: Setting alarm for account=<accountmail>@googlemail.com, duration=20000
    7. 03-22 11:12:52.741: I/Prime31-BS(2034): handleCommand() action: com.android.vending.billing.GET_PURCHASE_INFORMATION
    8. 03-22 11:12:52.745: D/Finsky(1902): [8] MarketBillingService.getPreferredAccount: <appname>: Account from first account.
    9. 03-22 11:12:52.749: D/Finsky(1902): [1] MarketBillingService.sendResponseCode: Sending response RESULT_OK for request 9071898696577146931 to <appname>.
    10. 03-22 11:12:52.769: I/Prime31-BS(2034): handleCommand() action: com.android.vending.billing.PURCHASE_STATE_CHANGED
    11. 03-22 11:12:52.788: E/Prime31-SEC(2034): Base64 decoding failed.
    12. 03-22 11:12:52.788: E/Prime31-SEC(2034): failed to generate and verify public key: com.prime31.billing.util.Base64DecoderException: Bad Base64 input character at 2: 46(decimal)
    13. 03-22 11:12:52.792: I/Prime31-BS(2034): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    14. 03-22 11:12:52.999: D/Finsky(1902): [1] MarketBillingService.sendResponseCode: Sending response RESULT_OK for request 6852519060836867377 to <appname>.
    15. 03-22 11:12:53.015: I/Prime31-BS(2034): handleCommand() action: com.android.vending.billing.PURCHASE_STATE_CHANGED
    16. 03-22 11:12:53.015: E/Prime31-SEC(2034): Base64 decoding failed.
    17. 03-22 11:12:53.015: E/Prime31-SEC(2034): failed to generate and verify public key: com.prime31.billing.util.Base64DecoderException: Bad Base64 input character at 2: 46(decimal)
    18. 03-22 11:12:53.019: I/Prime31-BS(2034): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    19.  
    I reentered my public key several times now, but always the same error. Although I got the "result_ok" in the first purchase, it seems that the purchase has not been successful in the end. When I try to buy the item again I the purchase fails:

    Code (csharp):
    1.  
    2. 03-22 11:26:53.124: I/Prime31-BS(2189): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
    3. 03-22 11:26:53.124: I/Prime31-RS(2189): responseCodeReceived: RESULT_ERROR
    4. 03-22 11:26:53.124: I/Prime31(2189): full_content_unlock: RESULT_ERROR
    5. 03-22 11:26:53.124: I/Prime31(2189): purchase failed with responseCode: RESULT_ERROR
    6.  
    Could this be due to the encoding of the public key?
     
  41. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @pahe, that does look like a public key issue. Make sure your key is entered exactly as it appears on the Market web page with no extra characters. Also ensure you have factory reset your device and set it up with a test user created on the Google Checkout site.
     
  42. pahe

    pahe

    Joined:
    May 10, 2011
    Posts:
    542
    Ok, I saw that there was an update for the IAB plugin and now the error with the public key is gone, but again the response code 500 error comes again. Android is slowly driving me crazy :)

    Anyway, thanks for help, I hope the google support could help me further.
     
  43. Nunterfal

    Nunterfal

    Joined:
    Nov 3, 2011
    Posts:
    9
    Hello.
    I tested In App Billing on android device. I built and run default IABTestScene. When I clicked "Test Refund" button I've sent request and got response. But when I clicked "Test Purchase" button I do not received any response.
     
  44. pahe

    pahe

    Joined:
    May 10, 2011
    Posts:
    542
    I got my IAP working finally (at least the IAP ^^). The Test Purchase didn't work for me neither (I think it's more a placeholder), but my own test iap worked fine. Don't forget to publish your own test iap (you dont need to publish your test app though).
     
  45. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @nunterfal, like @pahe mentioned you must upload your app to Google Play (but don't publish it while testing!) in order for test purchases to work.
     
  46. wilfred

    wilfred

    Joined:
    Nov 14, 2011
    Posts:
    17
    Hi,

    I am not sure if prime31 facebook plugin for android already support single sign on on not?
    Since everytime I try to login my app, it pop up a dialog request me to enter username and password.
    I check other which they don't need to type username and password since I already logged in to my facebook app,

    After call FacebookAndroid.init(FacebookApplicationId) ,
    I user "FacebookAndroid.isSessionValid()" to check if user logged in or not,
    then if user havn't login, I will use FacebookAndroid.showLoginDialog(permissions) to login

    Am I did it wong? Thanks.
     
  47. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @wilfred, we removed SSO support a long time ago due to it needing to override Unitys main Activity and it was totally broken on way too many devices to deal with. The access token is persisted to the device once it is fetched so you should remain logged in for a bit before it expires. There will be a new method in the next update to extend the access token which should be called every launch.
     
  48. arcreative

    arcreative

    Joined:
    Mar 30, 2012
    Posts:
    8
    I'm using SocialNetworkingAndroid plugin.
    When I use TwitterAndroid.showLoginDialog(), Login Dialog is seen in Galaxy Tab 10.1 but HTC Desire HD is some problem.

    I can't scroll up and down LoginDialog just fixed then I can't do login process.


     
  49. arcreative

    arcreative

    Joined:
    Mar 30, 2012
    Posts:
    8
    I'm using SocialNetworkingAndroid plugin.

    FacebookAndroid.postImage()

    Please let me know problem

     
  50. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @acreative, the warnings are normal and just the way Facebook chose to handle parameter types. We released an update yesterday to address scrolling on certain devices. There may be a small number of device/Android OS combinations that have the webview bug and still exhibit the non-scrolling behavior. We will address them as we find them and gather the test devices.