Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

[Released] IOS Native Unity3D Plugin

Discussion in 'Assets and Asset Store' started by lacost, Apr 22, 2013.

  1. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Most likely, this is related to some kind of update issue.
    So, please, contact our support team to further assistance in this case.
    I believe, that you have some minor issue with the source code, that will be fixed in a short time.
     
  2. shawhu

    shawhu

    Joined:
    Mar 11, 2016
    Posts:
    14
    One quick question, how to finish a transaction in IAP?
    From the included demo example cs, I pretty much sure that it's handled automatically but I would like to double check to make sure. Anyone can explain it to me in detail? When would this plugin call
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];

    A little reference to the official Apple "finishing a transaction" section of the general IAP dev guide

    https://developer.apple.com/library....html#//apple_ref/doc/uid/TP40008267-CH5-SW10
     
  3. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    All these finishTransaction calls are made under the hood. So, all the finish calls for transactions will be called automatically.
    Af course, you can find all the native implementation in the Xcode project after building from Unity.
    You can search for ISN_InApp source files in your Xcode project, open it up and check the finish transaction implementation. I believe, you will find the answers to your questions.
     
  4. dijital

    dijital

    Joined:
    Apr 28, 2010
    Posts:
    232
    The same thing happens if I import the latest version in to a new blank project. I sent an email to you team at this time yesterday and have had no reply.
     
  5. shawhu

    shawhu

    Joined:
    Mar 11, 2016
    Posts:
    14
    thanks for the reply. I've already guessed that finishTransaction calls has to be made automatically.
    that leads to my 2nd question and probably the most important one.

    First, here is why my question was raised in the first place. This is a quote from Apple's doc
    >After you finish a transaction, don’t take any actions on that transaction or do any work to deliver the product. If any work remains, your app isn’t ready to finish the transaction yet.

    This means, we should start the purchase, do some internal work, and after all the work is done, then, call finishTransaction to complete the transaction.

    following this logic,

    I need time to finish my side of work (calling api to add some coins to my users for example) before calling finishTransaction. When I use IOS native plugin, I only saw an event that I can get when the transaction is complete. I can't seems to Do Some Work between [purchase started] AND [transaction is complete] (which is the event).

    private void OnTransactionComplete (IOSStoreKitResult response) {} //<--this happens after finishTransaction was called, right?

    The way I see it is:

    step 11 I call IOSInAppPurchaseManager.Instance.BuyProduct(IOSInAppPurchaseManager.Instance.Products[product_index].Id) to start the purchase

    step 2 here is where I think I don't understand, I need to do some work before calling transaction complete

    final step, calling finishTransaction to finish the transaction.
     
  6. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Don't worry. You will get the reply of our support engineer in a short time.
     
  7. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Thank you for clarification of this case!

    Unfortunately, we have the transaction flow as I described earlier.
    And we are not going to change it in future. Because we have a lot of customer developers relying on this flow.

    If the behaviour you described is 100% strictly required for you, you better search for another solution in the Asset Store.
    Thank you for your patience and understanding!
     
  8. shawhu

    shawhu

    Joined:
    Mar 11, 2016
    Posts:
    14

    Got it I will find another one, actually I've got another one already and I just want to give your plugin a try because I don't want to have too many plugins in my project. It's always crowded. And...unity can only support DEX entries to 64k so.

    If I were you, there is a very simple solution, if you want to improve your plugin, you can write another separated method which incorporate the Apple's way, your current customers won't be affected. Which, btw, it's not my place to say if your way or the Apple's way, which is better. As a programmer myself, I don't care, what I care is to finish my tasks. And I think many of your customers will eventually know and choose Apple's way when they check and read the doc there.

    Doing so only benefits you. Your plugin is quite complete. Why not improve it a step further. After all, that's why I preferred to keep your plugin instead of multiple of others in the first place.

    Of course you have every right to do, totally your call, so I just shut up.
     
    mcmorry likes this.
  9. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Of course, I'll consider this question with my team and we make will make a decision on this.
    So, probably, we will implement one additional more flexible approach for In-App purchases.
    Any new updates will be announced additionally. Please, keep in touch.

    Thank you for your patience and understanding!
     
  10. lacost

    lacost

    Joined:
    May 30, 2012
    Posts:
    1,690
    Hey @shawhu , implementing this feature looks reasonable. So we decided to add this feature to a plugin.
    By the way I just sent you a beta version, so you can test it now, event before it will be available on a Asset Store with the next update.

    Cheers!
     
    mcmorry likes this.
  11. prasetion

    prasetion

    Joined:
    Apr 3, 2014
    Posts:
    15
    Hello, i am using newest version from asset store(update from the old version) and unity 5.5.0. I use social sharing and camera gallery. for social sharing, it works. but for the camera gallery, it is not working for me. I want to save my texture2d into camera roll, but in xcode log it said

    I save the texture2d in application.persistantDatapath. I check my textured2d before, that it was exist. Do i miss something?

    thanks

    note: Before I update the version (use unity 5.4.1 and iOS native ver 8), I am using the same method in my old project and it works well.
     
  12. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    It's quite difficult to help you with this case in a forum circumstances.
    Please, you better contact our support engineer via e-mail.
    You will get great assistance in a short time.

    Please, provide as much detailed information as you can.
    All the logs/videos/screenshots with your comments will be useful in this case.
    So, please, go for it and you will get this issue fixed in your project.
     
  13. prasetion

    prasetion

    Joined:
    Apr 3, 2014
    Posts:
    15
    ok, thanks
     
  14. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    581
    Hi, I have an issue with iCloud.
    I'm saving the savegame as by your sample code, by I'm getting a lot of errors from the different users:

    Here is the code:
    Code (CSharp):
    1. void SaveData(string key, string data) {
    2.     ISN_GameSaves.ActionGameSaved += HandleActionGameSaved;
    3.  
    4.     byte[] binData = global::System.Text.Encoding.UTF8.GetBytes(data);
    5.     ISN_GameSaves.Instance.SaveGame(binData, key);
    6. }
    7.  
    8. void HandleActionGameSaved (GK_SaveResult res) {
    9.     ISN_GameSaves.ActionGameSaved -= HandleActionGameSaved;
    10.  
    11.     if(res.IsSucceeded) {
    12.         Debug.Log("Saved game with name " + res.SavedGame.Name);
    13.     } else {
    14.         Debug.Log("Saving failed: " + res.Error.Message);
    15.     }
    16. }
    17.  
    These are the errors that I get from 3 different users:
    Saving failed: Error Domain=NSCocoaErrorDomain Code=513 'You don’t have permission to save the file “EvoniteG1065456435.bundle” in the folder “Evonite”.' UserInfo={NSFileOriginalItemLocationKey=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG1065456435.bundle, NSURL=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG1065456435.bundle, NSFileNewItemLocationKey=file:///private/var/mobile/Containers/Data/Application/8A023171-078D-4AC9-A399-16F7F45E468A/tmp/(A%20Document%20Being%20Saved%20By%20evonite%202)/EvoniteG1065456435.bundle, NSUnderlyingError=0x17505d700 {Error Domain=NSPOSIXErrorDomain Code=13 'Permission denied' UserInfo={NSURL=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG1065456435.bundle}}}

    Saving failed: Error Domain=NSCocoaErrorDomain Code=260 'The file “EvoniteG418477623.bundle” couldn’t be opened because there is no such file.' UserInfo={NSFileOriginalItemLocationKey=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG418477623.bundle, NSURL=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG418477623.bundle, NSFileNewItemLocationKey=file:///private/var/mobile/Containers/Data/Application/00D5A760-9EB1-492F-BF30-625E00A5A35C/tmp/(A%20Document%20Being%20Saved%20By%20evonite%202)/EvoniteG418477623.bundle, NSUnderlyingError=0x171050ec0 {Error Domain=NSCocoaErrorDomain Code=260 'The file “EvoniteG418477623.bundle” couldn’t be opened because there is no such file.' UserInfo={NSURL=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG418477623.bundle, NSFilePath=/private/var/mobile/Library/Mobile Documents/iCloud~com~blueriverarts~evonite/EvoniteG418477623.bundle, NSUnderlyingError=0x171040840 {Error Domain=NSPOSIXErrorDomain Code=2 'No such file or directory'}}}}

    Saving failed: Error Domain=NSCocoaErrorDomain Code=4 'The file “EvoniteG1065456435.bundle” doesn’t exist.' UserInfo={NSFileOriginalItemLocationKey=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG1065456435.bundle, NSURL=file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~blueriverarts~evonite/EvoniteG1065456435.bundle, NSFileNewItemLocationKey=file:///private/var/mobile/Containers/Data/Application/8A023171-078D-4AC9-A399-16F7F45E468A/tmp/(A%20Document%20Being%20Saved%20By%20evonite)/EvoniteG1065456435.bundle, NSUnderlyingError=0x170e56560 {Error Domain=NSCocoaErrorDomain Code=4 'The file doesn’t exist.' UserInfo={NSUnderlyingError=0x171051700 {Error Domain=NSPOSIXErrorDomain Code=2 'No such file or directory'}}}}
     
  15. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Firstly, I would recommend you to contact our support team via e-mail with this problem.
    Second, please, double check all the project settings in XCode and iTunesConnect settings as well.
    Probably, you missed some simple step and now these issues appear.

    Please, feel free to contact our support engineer via support@stansassets.com
    You will get great assistance in a short time.
     
  16. joelcarlson

    joelcarlson

    Joined:
    Apr 7, 2014
    Posts:
    43
    Was this mystery ever solved? I'm getting the exact same error on 4.7.2f1
     
  17. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    This issue has been fixed in the latest plugin version. Please, update to the latest iOS Native version 9.3.0 available in Unity Asset Store.
     
  18. joelcarlson

    joelcarlson

    Joined:
    Apr 7, 2014
    Posts:
    43
    Thanks. I updated and the error went away. Unfortunately, 4 more cropped up! I'm using the Playmaker actions for In App Purchases if that helps.

    Assets/Plugins/StansAssets/Modules/IOSNative/Scripts/StoreKit/Controllers/IOSInAppPurchaseManager.cs(249,25): error CS0029: Cannot implicitly convert type `System.Collections.Generic.List<SA.IOSNative.StoreKit.Product>' to `System.Collections.Generic.List<IOSProductTemplate>'

    Assets/Plugins/StansAssets/Modules/IOSNative/Scripts/StoreKit/Controllers/IOSInAppPurchaseManager.cs(99,47): error CS1061: Type `IOSNativeSettings' does not contain a definition for `SendFakeEventsInEditor' and no extension method `SendFakeEventsInEditor' of type `IOSNativeSettings' could be found (are you missing a using directive or an assembly reference?)

    Assets/Plugins/StansAssets/Modules/IOSNative/Scripts/StoreKit/Controllers/IOSInAppPurchaseManager.cs(132,47): error CS1061: Type `IOSNativeSettings' does not contain a definition for `SendFakeEventsInEditor' and no extension method `SendFakeEventsInEditor' of type `IOSNativeSettings' could be found (are you missing a using directive or an assembly reference?)

    Assets/Plugins/StansAssets/Modules/IOSNative/Scripts/StoreKit/Controllers/IOSInAppPurchaseManager.cs(207,47): error CS1061: Type `IOSNativeSettings' does not contain a definition for `SendFakeEventsInEditor' and no extension method `SendFakeEventsInEditor' of type `IOSNativeSettings' could be found (are you missing a using directive or an assembly reference?)
     
  19. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    I think, you didn't update the Playmaker actions for the latest version of iOS Native.
    Please, unzip the archive with the new Playmaker actions from the package of latest iOS Native.
    All the new actions have been rewritten for all the plugin changes.

    Please, go ahead and update the Playmaker actions to the latest version.
     
  20. crazy_pelican_games

    crazy_pelican_games

    Joined:
    Jan 20, 2017
    Posts:
    1
    Hello I am trying to retrieve the friends list in GameCenter I want the be able to get the callback with

    GameCenterManager.OnFriendsListLoaded += OnFriendListLoaded;

    when I create the method using the example in the Doc I get an error on unit the ISN_Result is not found.
    Could there be some files that didn't import from the asset store.
     
  21. douglas13254

    douglas13254

    Joined:
    Aug 11, 2016
    Posts:
    2
    Hello iOS Native team.
    Thank you for creating a great asset!

    I have been having an issue with the ISN_Purchase Action since I tried to add multiple products to sell. I input the products i want under settings and then assign them in the action (ISN_Purchase Action). The productID field only stays on the product I have selected until I select another game object from the Hierarchy. When I click back on object I originally changed the productID has changed back to the first item listed under settings. I have been trying different settings, different versions of iOS Native, different versions of playmaker, and different versions of unity. I have been unsuccessful so far. Has anyone else had this issue? Email has been sent to iOS Native Support.
    Thank you for you time and assistance!
     
  22. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    These issues are related to the refactor changes of our last updates.
    That's a minor issue and easy to fix on your own.
    The ISN_Result class has been renamed to SA.Common.Models.Result.

    So, please, go ahead and change all the places, where you use ISN_Result, on your own.
     
  23. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Most likely you made some mistakes in your own implementation.
    Anyway, if you contacted our support engineer, you will get great support in a short time.
    Thank you for your patience and understanding!
     
  24. douglas13254

    douglas13254

    Joined:
    Aug 11, 2016
    Posts:
    2
    Thank you for the quick response AlexRay. I tried eliminating this possibility with a fresh install of unity and a new project. I only installed playmaker and iOS Native from the asset store. My only change under settings was I added 2 products for test. I used the example scene that comes with iOS Native. I added the 2nd product on the list to the ISN_Purchase Action and clicked on another game object when I click back on the purchase object i changed the productID has changed to the 1st on the list even though that item was never put in that field. I have tried this on Unity 5.4.4, 5.4.3, 5.4.2, 5.4.1, 5.4.0, 5.3.7, 5.3.6, 5.3.5, 5.3.4, 5.3.3, 5.3.2, 5.3.1, 5.3.0, 5.2.5, 5.2.4, 5.2.3, 5.2.2, 5.2.1, 5.2.0, and patches 5.3.6p8, 5.3.6p7. I have been unsuccessful in all cases. I have made minor changes to scripts in other assets but I am not a programmer. My only thought on this as far as a coding error is to change productID from a string to an array. Your thoughts? I have tried changing every project setting and every available version of unity. My next plan is to go back to my project archives and start using older versions of unity (4.6- 4.3) with older versions of playmaker and iOS Native. I only found this problem when I tried to add another product to sell so I don't know how far back I will have to go to find a functional version if I have one at all. I would appreciate any advise on what direction I should move to get this working.
    Thank you
     
  25. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    You made a lot of work testing all this stuff in so many different Unity versions.
    My advice to you is to contact our support engineer and provide the project with the same logic as yours for testing.
    Please, provide as much detailed information as you can. It will be useful to find out the reason for such behaviour.
    Please, go ahead and you will get great support in a short time.
     
  26. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    581
    Getting this warning when compiling the project:

    Serialization depth limit 7 exceeded at 'SA.IOSDeploy::Variable.ArrayValue'. There may be an object composition cycle in one or more of your serialized classes.

    Serialization hierarchy:
    8: SA.IOSDeploy::Variable.ArrayValue
    7: SA.IOSDeploy::Variable.PlistVariables
    6: SA.IOSDeploy::Variable.PlistVariables
    5: SA.IOSDeploy::Variable.PlistVariables
    4: SA.IOSDeploy::Variable.PlistVariables
    3: SA.IOSDeploy::Variable.PlistVariables
    2: SA.IOSDeploy::Variable.PlistVariables
    1: SA.IOSDeploy::Variable.PlistVariables
    0: SA.IOSDeploy::ISD_Settings.PlistVariables

    Any thing I can do / change to avoid it?
     
  27. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    I think, this error has been fixed in the latest plugin version.
    Please, update to the latest version and retest this functionality one more time.
     
    Last edited: Jan 25, 2017
    mcmorry likes this.
  28. protostarDean

    protostarDean

    Joined:
    Jun 26, 2014
    Posts:
    7
    I can confirm that iCloud Key-Value store is not working in 9.1.
    Is this fixed in the latest version?
     
  29. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Most likely this issue has been fixed because I don't see such an issue in our bug-tracker.
    But I am not 100% sure about that. You better ask about it via e-mailing our support engineer.
    You will get the fix (if this issue has been fixed), otherwise, the bug-report will be added to our bug-tracker.
    Thank you for this information!
     
  30. duotemplar

    duotemplar

    Joined:
    Dec 30, 2010
    Posts:
    26
    Sorry to find a long time ago post #671。

    According to the content above, iOSNative will finish the transaction immediatelly when the purchase success.(I read the source code of 9.2, it just do like that!). But this point may be our server deal with the transaction failed,or even not unlock the content, because we haven't send the receipt to server. So it is really no problem to finished transaction as soon as the purchase success?
    Perhaps the reason to do that was the "fake transaciton".What mean about fake transaction?
     
  31. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    If I correctly understand, you want to implement the custom purchase validation for your iOS application. So, I have following comments/recommendations for you.

    If you want to implement your own purchase validation on your own server you have to change in-game behaviour a little bit. To fight against fake transactions the following scenario is underway.
    First of all, you should not charge the user with any reward after purchase before the purchase passes the validation on your own validation server. You have to perform purchase validation right after purchase success event of iOS Native.
    You have all the receipts available for making validation after purchase success.
    Please, consider this approach. In most cases, it's 100% appropriate for such scenarios like you are watching for.
     
  32. Serhii-Horun

    Serhii-Horun

    Joined:
    Apr 12, 2015
    Posts:
    88

    I have the same issue. Any solution?
     
  33. duotemplar

    duotemplar

    Joined:
    Dec 30, 2010
    Posts:
    26
    You could check your in-app purchase product config in the itunes connect。To see is every thing right。At least,your product state should be “ready to submit” or “wait for review”。

    And You also could check whether you call addProduct to regist your product or add just in the editor setting of iosNative
     
    Serhii-Horun and AlexRay like this.
  34. duotemplar

    duotemplar

    Joined:
    Dec 30, 2010
    Posts:
    26
    thx for replay. But my question was, right now when I receive the purchase susscess, ios native auto finished the transaction. Then I should valid the receipt to app store from my own server. Until right here, I unterstood just like you.But then,if my server failed with valid(my be the network problem not the receipt), I will not charge theuser with any product。But the transation state be "Completed".
    So if next time, my app didn't call "Restore", this receipt will lost for ever, do I understand right?
    But I don't want to call restore everytime, that mean I should save a copy of receipt on my server for every player, for comparing which had been award.

    I found in the offical web document, there is an approach to solve my requirement."Manual Transactions Handling".But in my iosNative version of 9.2, I can not found the swith of this feature in the bill tab, and also can not found
    "PaymentManager.Instance.FinishTransaction (productIdentifier)" this api in the source. So, may be my version is old or this feature has already remove from the version?
     
  35. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Looks like you have some issues with the configuration of your iTunes Connect (or maybe the plugin settings itself).
    Please, double check all the configuration, in-app product settings. Of course, all these settings have to be consistent in the iOS Native settings as well.
    If you will have any kind of difficulties with this stuff in future, please, feel free to contact our support engineer.
    You will get great assistance in a short time.
     
    Serhii-Horun likes this.
  36. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    I have to consider about all this stuff with my team to give you detailed feedback.
    I would recommend you to contact our support team for further dialogue. That's the best approach.

    So, please, go ahead ane you will get awesome support for you with this case.
    You are welcome!
     
  37. Serhii-Horun

    Serhii-Horun

    Joined:
    Apr 12, 2015
    Posts:
    88
    Thanks guys! Can I ask one more thing?
    Publisher want to build project with xCode 6.4, but xCode give an error during build, especially with ISN_GameCenter.mm. I'm new in Objective-C and cant find any solutions. How it can be resolved?
     

    Attached Files:

  38. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Unfortunately, you will not build the project with such a super-old version of XCode.
    My recommendation for you is to update to the latest XCode version and all the compile errors should be fixed.
     
  39. Serhii-Horun

    Serhii-Horun

    Joined:
    Apr 12, 2015
    Posts:
    88
    Ok, thanks. I completely agree with you about super old version, but KetchApp publisher wants me to build only on 6.4v and I 'm confused now
     
  40. RakshithAnand

    RakshithAnand

    Joined:
    Jun 30, 2013
    Posts:
    55
    Hi,

    I am trying to understand Real Time Multiplayer functionality, but right now confused.
    The part where I am confused is inviting specific friend for the real time game.

    In android , we open an invitation ui and invite. But in ios I am not able to find that function.
    Can you please guide me here on how to invite a player? Or we need to load friends to our own UI?

    Im asking this because I have my own ui to invite friend/ find quick match and get all data and process. Android its all working perfectly. Here in iOS im finding it rather a very different flow!

    Please need this info urgently

    Thanks,
    Rakshith
     
  41. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    Please, check the code from our sample (it exists in our documentation as well)
    Code (CSharp):
    1. //Required
    2. int minPlayers = 2;
    3. int maxPlayers = 2;
    4.  
    5. //Optionally you can provide and invitation message
    6. string invitationMessage = "Come play with me, bro.";
    7.  
    8. //Optionally you can predefine invited friends list to the match
    9. //The code bellow assumes that player has at-least one friend, and you already loaded the friend list
    10. //so we can send an invite to the first player in the friends list
    11. string[] invitations  = new string[]{ GameCenterManager.FriendsList[0] };
    12.  
    13. GameCenter_RTM.Instance.FindMatchWithNativeUI(minPlayers, maxPlayers, invitationMessage, invitations);
    You can provide the empty string array to this method. One additional approach is to preload the friends and provide the Ids explicitly. That's the common approach in real-time multiplayer match with Game Center.
     
  42. RakshithAnand

    RakshithAnand

    Joined:
    Jun 30, 2013
    Posts:
    55
    I saw this. But I was thinking there was a separate UI from GameCenter from where we could select Friends to invite like Google play games provides.

    But I guess we have to load friends list on our own and send an invite here.

    Thanks!
     
  43. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    There is no additional separate UI other than Game Center UI. So, as I mentioned before, there are two cases. First, use the Game Center native UI and the second - load friends and provide the Ids for FindMatchWithNativeUI method.

    Best regards,
    Alex
     
  44. RakshithAnand

    RakshithAnand

    Joined:
    Jun 30, 2013
    Posts:
    55
    Thanks for your reply.

    But I do not want the match to happen in native UI. I am displaying user data like win loss count, users other game data in my own UI. So I guess even FindMatch method has option to invite specific players right? If that is there then I'll create my own UI which loads friends and then just use FindMatch with that specific player ID

    Regards,
    Rakshith
     
  45. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Yeap. GameCenter_RTM class has following method
    Code (CSharp):
    1. public void FindMatch(int minPlayers, int maxPlayers, string msg = "", string[] playersToInvite = null)
    Please, pay your attention - there is the string array with the player Ids to invite.
    By default, it has null value what means that all the players should be added to match randomly.
     
  46. RakshithAnand

    RakshithAnand

    Joined:
    Jun 30, 2013
    Posts:
    55
    Ah alright thank you!

    Also if I do this, will the other player get an invite received notification?

    Regards,
    Rakshith
     
  47. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Please, read the iOS Native Real-Time Multiplayer documentation at first. Most likely, you will find the answers to your questions there. Otherwise, please, contact our support team for further instructions, because it's not the common way of considering such a questions.
     
  48. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    @AlexRay Will you support subscriptions on iOS?
     
  49. AlexRay

    AlexRay

    Joined:
    Jul 9, 2014
    Posts:
    993
    Hello,
    We have some plans according to this feature. But, unfortunately, I can not tell exactly when this feature will be implemented. Of course, you can contact our support team and leave the feature request.
    As more developers will request this feature, as higher priority it will have.
     
  50. JBhalani

    JBhalani

    Joined:
    Jun 16, 2015
    Posts:
    1
    I have a question

    Can we show a subview for iOS settings page from within the unity app? Currently for my app I am using native IOS call as below to direct user to settings page but then it backgrounds the app and takes user to settings page. I don't want this

    NSURL *url = [NSURL URLWithString:mad:"prefs:root=NOTIFICATIONS_ID"];
    [[UIApplication sharedApplication] openURL:url];

    Using Native IOS plugin can I achieve something like having a subview showing the settings page to the user from inside the app so the app view is always active?
     
unityunity