Search Unity

Introducing IOS Native Pro

Discussion in 'Assets and Asset Store' started by stanislav-osipov, Jun 7, 2018.

  1. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hello, I want to introduce our new product: IOS Native Plugin pro.
    The plugin is already available on Asset Store.
    1200x630.png

    We have been working on Unity plugin for last 3 years, and since we have started the goal was to deliver a great and easy to use products. We grew very fast and created a lot of Unity Native plugins. We are also doing our best to support all our products. But, (“there is always but, right?”) more experience we gain than more mistakes in original design we realize. Of course, we try to fix and improve, but carry a big luggage is always hard. So I decided to pivot, and create the best product we can without looking back, just make and design everything from scratch. I told this little story, just for you to understand a context why we had created this product. We will keep supporting all our products, and even more, customers who have already had the IOS Deploy / IOS Native can upgrade for free to IOS Deploy pro / IOS Native pro.
    The main principles of IOS Native Pro:
    • Full Open source. That's pretty simple, I do not think not an open source product can work for the developer community. If you are a junior developer, we will be happy if you learn something with our code. If you are a senior developer, we do not want you to have a “back box” in your project and we always open to critics and suggestions.

    • Strict code convention. You can read more about convention rules here. As our code will be a part of your project, the goal of the convention was:
      • You will never mix your and our classes

      • Filename / Class name itself will tell you where it belongs

      • By only looking at the class signature you will be able to understand how to use it properly.

      • Every public method and class should be documented. Of course, we have an online documentation and guides. But sometimes reading the method description is all you want to know.
    • Matching the original API. Since the plugin is the kind of your bridge to a native code. It should match that native code as close as possible. So, for example, ISN_SKPaymentQueue is a match to the Apple SKPaymentQueue objective-C class

    • Nice looking and user-friendly settings editor. This one is pretty simple with any third-party plugin you are adding to your cool project, you want to have a centralized, good-looking, and intuitive settings editor for it.

    • Ability to enable/disable modules. This one also as simple as it is. You only want plugin parts that you are using. So if some feature requires additional frameworks or files, you want to have it disabled if you do not have the intent to use it in your project.

    • Automatic Xcode project configuration. I know how inconvenient it is to alter the Xcode project settings every time you do a Unity build. Besides if you have to alter 1, 2 or 10 setting every time you build, it’s just a matter of time when you will forget something and upload your build without some feature properly function. I am strongly convinced that if plugin offers any function, it should set up everything, so after compilation is done, you only need to press a “Build” button. We simply will not offer a feature before we make sure we not adding any unnecessary steps to your build and run flow.
    I truly hope you will enjoy using our new product! And would love to hear your feedback.
     
    Last edited: Sep 5, 2018
  2. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    I also would like to make a small announcement.

    Evry current owner of IOS Native plugin can upgrade get IOS Native pro for free.
    I would also be happy to give 10 free copies. All our knowledge about how to properly build a plugin for a Unity developers community is in that new product, I want to hear a fair review. If you interested, just PM me, and I'll send you a voucher code. Thx.
     
  3. mtpabis

    mtpabis

    Joined:
    Oct 18, 2012
    Posts:
    13
    Hello, it seems the Pro version isn't compatible with iOS Native/Android Native combo.
    Will there be Android Native Pro (along with Manifest Manager etc.)? If so - when?
     
  4. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hey, @mtpabis , yep the iOS Native Pro isn't compatible with iOS Native, the reason behind this - there is no point to use iOS Native when you have iOS Native Pro.
    About compatibility with other Satn's Assets plugins, there should not be any issues with this. If you have any issues, this is sounds like a bug, and please let me know.

    My estimation 1-2 month. The Pro line is different we have a lot of attention to every small detail. And the from first release of the Android Native a lot of time has passed, there are so many opportunities and technology supported by a Unity now, like, aar, gradle build, and a lot more new approaches we can use to avoid unnecessary activity overriding and automate conflict resolving with other plugin.
     
  5. karsnen

    karsnen

    Joined:
    Feb 9, 2014
    Posts:
    65
    So far the plugin is good. I think it is clean, direct and to the point. Will be using it moving forward.
     
  6. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hey @karsnen , thx for a feedback. I hope you alsoe enjoy the update we will make this weekends.
     
  7. mtpabis

    mtpabis

    Joined:
    Oct 18, 2012
    Posts:
    13
    @lacost Thanks, I've created a fresh Unity project (Unity version 2017.2.1p2), then imported and installed Android Native 9.10/24 (newest version available on the Asset Store), then imported iOS Native Pro (2018.1.1) which resulted in errors like on the screenshot.
     

    Attached Files:

  8. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    338
    I am a user of iOS Native, and upgraded yesterday.

    So far a couple of small issues that I have been able to fix, other than that the product looks fantastic and works very well.

    The leaderboards work without a problem, daily, weekly and all time. I was having an issue with the regular version, but this one works really well.

    One thing that has amazed me is: My project on xcode before installation, had about 200-300 warnings. My project now has 20 warnings after installation of pro version.

    @lacost I need to know 1 thing: How do we do the "rate our game" code? This was in the regular version but I can not find it in the pro version (examples).
     
  9. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    @mtpabis looks like a very bad conflict I will fix this today ASAP, and re-upload the plugin. By the Android Native pro will come in a month :)

    We reconsidered and rewrote whole native part of the plugin, there is no deprecated API is used anymore, only latest approaches recommended by Apple. And new structure will give us an ability to extend and support this much much better and with fewer efforts.

    Sorry, still had to do a lot of work with the examples. And personally, I understand why are you confused, but "rate our game" popup is not a part of Game Center, it's part of the store kit API. So in our plugin, it is a part of Store kit as well.

    img.png
    https://unionassets.com/ios-native-pro/store-review-controller-631
     
  10. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Sorry, forgot to mention, can you please share with me what kind of issues you had?


    @mtpabis I just uploaded a compatibility update. Sorry for the inconvenience, I was sure I did it 3 weeks ago.
    You may update a plugin or just remove a folder located at:
     
    Last edited: Jun 18, 2018
  11. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    338
    Not quite sure what the filenames were, think they started with ISN_????? There was about 5-6 of them in the assets/iOS folder. Had some compile errors on xcode. I deleted them from the above mentioned folder and the compiles went away. Hope I didn't break anything else. Game is working properly.

    I also had issues with the Stan's assets showing up on my drop down, however you mentioned that I might have errors in my c# code, I did, so that fixed the issue of the drop down not showing.

    Had issues with the old plugin not showing leader-board (daily and weekly) properly, it works flawlessly in the pro version.
     
  12. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    338
    Thanks!

    In the documentation it says
    . I understand this, however is there a way to find out if they did rate, this way I know not to ask again.

    edit: After reading the documentation again, I think that you cant. Correct me if I am wrong.
     
  13. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    I am not sure we can:
    https://developer.apple.com/documen...ontroller/2851536-requestreview?language=objc

    Apple also gives a "Best practice" example when you ask a user to review your app only one time per version:
    https://developer.apple.com/documen...er/requesting_app_store_reviews?language=objc

    Also found one more useful example of how to redirect a user to a review page, and translated in into IOS Native code:
    https://unionassets.com/ios-native-pro/store-review-controller-631#manually-request-a-review
     
  14. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    338
    After reading this and few other articles on the rating system, I believe the following to be true (correct me if you think I am wrong.)

    1. Once you request a review, it counts as your one of three requests for the year.
    2. If the user has already left a review, even requesting a review will not trigger another review.
    some interesting comments from iOS:
    1. FYI, I have tested this when building from my mac to ipad, however have not tested via testflight.
    2. This is for rating, not a review (check next point)
     
  15. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    You found few more good point. I will include those into an article about review API, so we will not lose it :)
     
  16. indie_dev85

    indie_dev85

    Joined:
    Mar 7, 2014
    Posts:
    52
    Hi,

    In my game i am upgrading from IOS Native to IOS Native PRO.This newer version is really great with nice editor features, but i am not able to find couple of API from older version:-

    1.How to Load the friend list for the given local player?
    2.During Sandbox testing there is no way to refresh the app store receipt, in older version there was a refresh receipt method for this.

    Are these API's removed from IOS Native PRO?
     
  17. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hey @indie_dev85 some features might be missing. This plugin is sort of "Refreshment" when we cutting off all heavy and useless features base.
    But if you guys are using it, I would love to add those to a new plugin as well.


    Regarding Game Center friends I was about to say that I will add it during the next day, but appears the whole feature is deprecated, take a looks yourself:
    https://developer.apple.com/documentation/gamekit/gklocalplayer?language=objc

    I was trying to find some replacement offered by a Game Center API, but there is non. As soon as they came up with new feature it will be implemented, or in case missed it, please let me know.

    Can you show me exact method in old IOS Native you are talking about? I am ready to add it ASAP and send you an update. You can post it here or PM me. Thanks.
     
  18. indie_dev85

    indie_dev85

    Joined:
    Mar 7, 2014
    Posts:
    52
    Kindly check the send PM for class details.
     
  19. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Sorry for late response, was on an errand, Will PM you back ASAP.
     
  20. Serhii-Horun

    Serhii-Horun

    Joined:
    Apr 12, 2015
    Posts:
    151
    Does this plugin gice quicktype keyboard wih password autofill, like it does in Safari or some native apps?
     
    ROBYER1 likes this.
  21. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hey @Serhii-Horun
    Nope, it's not. But if you will tell me more, about what kind of API you talking about, I would be happy to add it with the next update.

    Thx.
     
  22. BenoitFreslon

    BenoitFreslon

    Joined:
    Jan 16, 2013
    Posts:
    166
    Hello Stan,
    I already have the iOS Native plugin but I also purchased the update for .89€.

    I would like to update my current plugin. Do you have documentations when you come from iOS Native?
    In IOS Native : Every 2 times, the .plist file is corrupted. I need to clean the plist configuration in iOS Native. (I already reported this bug in the past)

    Best.
     
  23. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hey, @badben Well it's pretty simple, just remove IOS Native completely and download new IOS Native pro. It designed to be very straightforward.
    But in case you will have any issues or questions, post it here or PM me. Thx.
     
  24. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Just want to let you guys know that new 2018.1.2 version is live on the asset store.

    Release Notes:

    • UI Kit Photo lib "NSPhotoLibraryAddUsageDescription" added
    • UI Kit Alert view fixes
    • UI Kit UIImagePickerController with landscape orientation fixed
    • Store Kit ISN_SKReceiptRefreshRequest added
    • Store Kit SKProduct locale info extended
    • Store Kit SKProduct introductory price fixed
    • The iCloud API fixed
    • The new script defines management implemented, now relaying to PlayerSettings.SetScriptingDefineSymbolsForGroup
    • Files GUID reset due to compatibility issues
    • Unity 2018.2 compatibility Editor UI Improvements
    • Native Callback C# to Objective C implemented

    If you want to report a bug or have a new feature request. don't hesitate to ask.
    I want this plugin to be the best IOS Native plugin on the Assets Store, no kidding.
    Thanks for your support.
     
  25. Serhii-Horun

    Serhii-Horun

    Joined:
    Apr 12, 2015
    Posts:
    151

    Attached Files:

  26. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Ahh.
    I had an idea to make keyboard API. But it's super tricky, and I still think if it worth trying.
    So the deal is Apple does not provide any "Keyboard" API. So like you can't say:

    *Display keyboard with certain configuration
    * Subscribe to keyboard events, etc.


    The way it's working, is you create a IOS Native UI filed with certain type -> and keyboard just works. I don't know teh exact way Unity did it, but most likely they are creating invisible native text filed when you tap on Unity UI text area.

    This is just a guess.But my point is there is no straightforward apple API provided for this. We can only came up with some hacky workaround way to implement it, and there is no guarantee it gonna work everywhere and will not stop working properly with some iOS / XCode or Unity update.

    That's still in my "desire list" but I am not ready to implement a hacky workarounds at this point to a plugin. Currently, our goal is to build up super clean, straightforward and reliable "Pro" assets line.

    Android is coming sooooon :)

    However, if you want to may cooperate on this, feel free to PM me, we can think something through.
     
    Serhii-Horun likes this.
  27. Serhii-Horun

    Serhii-Horun

    Joined:
    Apr 12, 2015
    Posts:
    151
    We need this feature so much, so we will think about any options. Thank you!
     
  28. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    Just upgraded because the old iOS Native plugin was having trouble with the default social share, but Pro seems to have same issue?

    ISN_Media.Share("share text", screenshot);

    The name `ISN_Media' does not exist in the current context

    and yeah I enabled the social module

    edit: ah, needed "using SA.IOSNative.Social;" (not listed in documentation)
     
    Last edited: Aug 10, 2018
  29. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Hey @J_P_ you are right. Thanks for the heads up, I just updated the documentation.

    Looking forward to a new feedback/ critics/requests

    Cheers!
     
  30. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    If I use

    Code (CSharp):
    1. Screen.orientation = ScreenOrientation.AutoRotation;
    2. ...
    3. Screen.orientation = ScreenOrientation.Portrait;
    at runtime, it seems to break the native share dialog (it never shows up). Is there a workaround for this?
     
  31. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    So how do I test? Should I make build with autorotation and then before using sharing dialog use something like:
    Code (CSharp):
    1. Screen.orientation = ScreenOrientation.Portrait;
    ?

    Have I got you right? If so I will test it tomorrow and let you know if I was able to reproduce it. Thanks.
     
  32. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    In my case I had app set to Portrait, then switched to auto rotate at runtime. But it might do it the other way too.
     
  33. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    @J_P_ just tested it, works just fine for me. Can you send me the logs? Since I tried on different devices, it works just fine with any rotation.
     
  34. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
  35. WereVarg

    WereVarg

    Joined:
    Apr 9, 2012
    Posts:
    20
  36. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
  37. AmirLevi

    AmirLevi

    Joined:
    Dec 5, 2012
    Posts:
    12
    hey lacost,
    Is there a way to post an email?
    with the same options as the send method ISN_Mail.Send, where I can fill the subject body etc.
    So it will open native email app on the ios device, and if there isnt any
    defind it will throw an error/exception.
     
  38. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
  39. WereVarg

    WereVarg

    Joined:
    Apr 9, 2012
    Posts:
    20
  40. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    @WereVarg no problem. I would not be able to test it. So it would be nice if you can reach me. I will send you beta version before release, so you can test it. Also looks like currently, we need to use MPRemoteCommandCenter instead the UI Application.
     
  41. Richardbmth

    Richardbmth

    Joined:
    Mar 5, 2016
    Posts:
    30
    I've upgraded to IOS Native and currently going through the process of updating my code.

    I was looking around in the documentation and couldn't find a direct reference to finding the Locale like the original IOS Native (IOSNativeUtility.OnLocaleLoaded). What would be the best way of finding the Locale of a iOS device?

    Also previously I was able to query whether the device notification settings was turned on or off using '
    ISN_LocalNotificationsController.AllowedNotificationsType'. Is that still possible with IOS Native Pro?
     
  42. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
  43. tomislav_

    tomislav_

    Joined:
    Sep 22, 2013
    Posts:
    4
    Does pro version have playmaker support like old version?
     
  44. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Not yet, but will be.
     
  45. thylaxene

    thylaxene

    Joined:
    Oct 10, 2005
    Posts:
    716
    What watchOS API features do you support? You mention it in the description on the store. Just curious as I will probably buy the plugin anyway.

    Cheers.
     
  46. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Het @thylaxene thx for your interest.

    To be completely honest, you the first person who asks about watchOS. Since the API is the same as for iOS 70% of plugin feature will just work. And if it's not, or you gonna need any specific feature, I am always here, ready to fix issues/work on feature requests.
     
  47. thylaxene

    thylaxene

    Joined:
    Oct 10, 2005
    Posts:
    716
    Ok thanks for the reply. Simply I don't know what I need yet watch side of things. Once I do I will ask here if it is possible. Was fishing to see what support you had and whether that would trigger ideas at my end. :)

    Cheers.
     
  48. iileychen

    iileychen

    Joined:
    Oct 13, 2015
    Posts:
    110
    I see the saveing a game feature is provided by iCloud, is authentication with game center required? Or can be avoid that authentication just save and load data through iCloud?
     
  49. stanislav-osipov

    stanislav-osipov

    Joined:
    May 30, 2012
    Posts:
    1,790
    Okay, @thylaxene =) let's keep in touch.

    @iileychen it's provided by iCloud but still part of Game Center API, so yea you need to auth player with Game Center.
     
  50. bphillips09

    bphillips09

    Joined:
    Aug 31, 2014
    Posts:
    36
    Does turn-based multiplayer support for Game Center not exist anymore in this API?