x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

In App Purchase IOS

Dear Unreal Engine,

I tried to do some IAP for iOS but it's not working and always fail.Return message when click on the Buy button is "Not Allowed" Here's my procedure.

All things setup in iTunesConnect, and provision and certificate. And i search some forums and added some lines to defaultengine.ini as well, and change iOSEngine.ini as well. But no luck. Below are my screenshot.

Please assist.... really urgent..

Product Version: UE 4.14
Tags:
defaultengine.jpg (63.7 kB)
iap.jpg (452.0 kB)
modulemissing.jpg (50.6 kB)
more ▼

asked Jan 05 '17 at 05:07 PM in Packaging & Deployment

avatar image

dizzynoob
116 6 11 15

avatar image dizzynoob Jan 06 '17 at 03:43 AM

Any updates on this? Really urgent

avatar image dizzynoob Jan 06 '17 at 08:14 AM

Test out creating a new blank BP project with no starter content, added those lines into defaultengine.ini, and the logwarning of unable to load module still there.

My mobile provision is developer provision and app is sign under explicit ID, not wildcard, will this affect it? Please advise soonest please... :(

avatar image Steve Hardister ♦♦ STAFF Jan 06 '17 at 04:53 PM

Hi dizzynoob,

Please review the following documentation:

Using In-App Purchases on iOS

If this does not resolve your issue, let me know what part of the documentation is lacking or unclear so that we can update it accordingly.

Thanks,

Steve H.

avatar image dizzynoob Jan 10 '17 at 08:17 AM

Hi Steve, I attached a few more screenshots for your reference.

As you can see, the Product ID as in variables value is "5000ro", in iTunesConnect is the same as well. and in project directory, I've copied a copy of iOSengine.ini from Engine folder to my project directory as i saw the link you sent me

Edit [ProjectName]/Config/IOS/IOSEngine.ini:, as in default, it's not there.

On the other hand, "If you have a Blueprint project, you're set to go. If you have a code project and have not already set up your project to use online subsystems, add the following block to your project's Build.cs file:"

Does this means that if i have a BP project i don't have to setup anything including adding codes to defaultengine.ini? As now i'm trying another attempt, go back to basic, package in shipping, distribution, and in defaultengine.ini i've remove the

[OnlineSubsystem] DefaultPlatformService=IOS

and even the

[OnlineSubsystemIOS.Store] bSupportsInAppPurchasing=true

, and of course, the 2 logs line disappear, then i'll upload via application loader and try again using Testflight. Will Update again whether this works which means i'll need to do nothing in defaultengine.ini, but i had make sure in iOSEngine.ini in Engine Config folder had these lines.

iap page.jpg (539.8 kB)
avatar image dizzynoob Jan 10 '17 at 02:35 PM

**UPDATE : After tried packaging and downloaded from iTunesConnect, still failed at the IAP. So the scenario i tried now is in DefaultEngine.ini there's no added lines*( since i added those codes doesn't work as well and showed 2 log lines which OnlineSubsystemiOS cannot be loaded even plugin is enabled), copied iOSEngine.ini from Engine to project folder(As shown in documentation), packaging is set to shipping and distribution, using all distrubution provision and cert, not working at last! ShowExternalLoginUI works at Main Screen by login GameCenter.*

img_0573.png (475.9 kB)
img_0574.png (480.1 kB)
img_0575.png (479.6 kB)
avatar image dizzynoob Jan 11 '17 at 04:08 AM

Any updates on this...? Really urgent..

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

3 answers: sort voted first

FINALLY! It's solved by removing all "Extra" codes which not suppose to be added in DefaultEngine.ini, and as well shouldn't copied the iOSEngine.ini from engine to project folder as well as stated in Documentation which is wrong. Please fix it. Now everything works. And as well, in iOSEngine.ini need to change from :

[OnlineSubsystem] DefaultPlatformService=MCP (BY DEFAULT INSTALLATION OF ENGINE)

[OnlineSubsystem] DefaultPlatformService=IOS

more ▼

answered Jan 11 '17 at 08:45 AM

avatar image

dizzynoob
116 6 11 15

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Hi Steve, thank you for getting back!! I've search everything I can and added those lines in defaultengine.ini and even double check the iosengine.ini it's all correct. And I even tried to disable the online subsystem iOS under plugin and restart and enable again and restart but still no luck. And during project startup it keeps showing the 2 Logmodules lines.

I tried to create an empty project as well, my app ID in settings are enable in-app purchase. All certificate genererated correctly and as well the developer provision. Still no luck as well for empty project.

On the side note, I tried to disable some online subsystem module it shows that particular module can't be loaded. But then I re-enable and restart those message not showing anymore except the iOS one.

EDIT : I copied the iOS folder in engine (C:\Program Files (x86)\Epic Games\4.14\Engine\Config\IOS) to [ProjectName]/Config/ and double confirm the IOSEngine.ini is set right.

BY default in project/config the IOS folder with iOSEngine.ini is not inside.

iOSEngine.ini

 [/Script/Engine.GarbageCollectionSettings]
 gc.MaxObjectsInGame=131072
 [Audio]
 AudioDeviceModuleName=IOSAudio
 ; Defines a platform-specific volume headroom (in dB) for audio to provide better platform consistency with respect to volume levels.
 PlatformHeadroomDB=0
 [OnlineSubsystem]
 DefaultPlatformService=IOS
 [Advertising]
 DefaultProviderName=IOSAdvertising
 [DeviceProfileManager]
 DeviceProfileSelectionModule="IOSDeviceProfileSelector"
 [/Script/IOSRuntimeSettings.IOSRuntimeSettings]
 bEnableGameCenterSupport=true
 bEnableCloudKitSupport=true
 [OnlineSubsystemIOS.Store]
 bSupportsInAppPurchasing=True
 bUseStoreV2=true
 [SlateRenderer]
 NumPreallocatedVertices=200
 [LocalNotification]
 DefaultPlatformService=IOSLocalNotification
 [/Script/Engine.GarbageCollectionSettings]
 gc.MaxObjectsInGame=131072


Still not working as well, show

 LogModuleManager:Warning: No filename provided for module OnlineSubsystemIOS
 LogModuleManager:Warning: ModuleManager: Unable to load module 'OnlineSubsystemIOS' because the file 'C:/Program Files (x86)/Epic Games/4.14/Engine/Binaries/Win64/' was not found.

This is my DefaultEngine.ini

 [URL]
 GameName=HeroesOfArk
 [/Script/Engine.Engine]
 +ActiveGameNameRedirects=(OldGameName="TP_ThirdPersonBP",NewGameName="/Script/HeroesOfArk")
 +ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPersonBP",NewGameName="/Script/HeroesOfArk")
 [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
 bBuildForES2=True
 bBuildForES31=False
 MinSDKVersion=21
 TargetSDKVersion=21
 ApplicationDisplayName=HOA
 bSupportsVulkan=False
 [/Script/Engine.UserInterfaceSettings]
 RenderFocusRule=NavigationOnly
 DefaultCursor=None
 TextEditBeamCursor=None
 CrosshairsCursor=None
 HandCursor=None
 GrabHandCursor=None
 GrabHandClosedCursor=None
 SlashedCircleCursor=None
 ApplicationScale=1.000000
 UIScaleRule=ShortestSide
 CustomScalingRuleClass=None
 UIScaleCurve=(EditorCurveData=(PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant,Keys=((Time=1079.000000,Value=1.000000),(Time=1090.000000,Value=1.000000),(Time=2047.000000,Value=1.896200),(Time=2058.000000,Value=1.896200)),DefaultValue=340282346638528859811704183484516925440.000000),ExternalCurve=None)
 [/Script/IOSRuntimeSettings.IOSRuntimeSettings]
 bEnableGameCenterSupport=True
 bEnableCloudKitSupport=False
 bEnableFacebookSupport=False
 BundleDisplayName=HOA
 BundleName=HeroesOfArk
 MobileProvision=hoa.mobileprovision
 BundleIdentifier=com.hyuenentertainments.hoa
 bAllowRemoteRotation=False
 bUseRemoteAsVirtualJoystick=False
 bSupportsIPad=True
 SigningCertificate=iPhone Developer: Hao Liang Tan (548ZX5T4D8)
 AdditionalPlistData=
 bSupportsOpenGLES2=True
 FrameRateLock=PUFRL_30
 bSupportsMetalMRT=False
 bSupportsMetal=False
 MinimumiOSVersion=IOS_8
 FacebookAppID=189613068172874
 [OnlineSubsystem]
 DefaultPlatformService=IOS
 [OnlineSubsystemIOS.Store]
 bSupportsInAppPurchasing=true
 IsAllowedToMakePurchases=True
 [/Script/MacTargetPlatform.MacTargetSettings]
 -TargetedRHIs=SF_METAL_SM5
 -TargetedRHIs=SF_METAL_SM4
 +TargetedRHIs=SF_METAL_SM5
 +TargetedRHIs=SF_METAL_SM4
 +TargetedRHIs=SF_METAL_MACES3_1
 [/Script/Engine.RendererSettings]
 r.MobileHDR=True
 r.MobileNumDynamicPointLights=4
 r.MobileDynamicPointLightsUseStaticBranch=True
 r.Mobile.EnableStaticAndCSMShadowReceivers=True
 r.Mobile.DisableVertexFog=False
 r.DiscardUnusedQuality=False
 r.AllowOcclusionQueries=True
 r.MinScreenRadiusForLights=0.030000
 r.MinScreenRadiusForDepthPrepass=0.030000
 r.MinScreenRadiusForCSMDepth=0.010000
 r.PrecomputedVisibilityWarning=False
 r.TextureStreaming=True
 Compat.UseDXT5NormalMaps=False
 r.ClearCoatNormal=False
 r.ReflectionCaptureResolution=128
 r.ReflectionEnvironmentLightmapMixBasedOnRoughness=True
 r.ForwardShading=False
 r.VertexFoggingForOpaque=True
 r.AllowStaticLighting=True
 r.NormalMapsForStaticLighting=False
 r.GenerateMeshDistanceFields=False
 r.GenerateLandscapeGIData=True
 r.TessellationAdaptivePixelsPerTriangle=48.000000
 r.SeparateTranslucency=False
 r.TranslucentSortPolicy=0
 TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000)
 r.CustomDepth=1
 r.DefaultFeature.Bloom=True
 r.DefaultFeature.AmbientOcclusion=False
 r.DefaultFeature.AmbientOcclusionStaticFraction=True
 r.DefaultFeature.AutoExposure=False
 r.DefaultFeature.AutoExposure.Method=0
 r.DefaultFeature.MotionBlur=False
 r.DefaultFeature.LensFlare=False
 r.DefaultFeature.AntiAliasing=2
 r.StencilForLODDither=False
 r.EarlyZPass=3
 r.EarlyZPassMovable=False
 r.DBuffer=False
 r.ClearSceneMethod=1
 r.BasePassOutputsVelocity=False
 r.SelectiveBasePassOutputs=False
 bDefaultParticleCutouts=False
 r.AllowGlobalClipPlane=False
 r.GBufferFormat=1
 r.MorphTarget.Mode=False
 vr.InstancedStereo=False
 vr.MultiView=False
 vr.MobileMultiView=False
 r.WireframeCullThreshold=5.000000
 r.SupportStationarySkylight=True
 r.SupportLowQualityLightmaps=True
 r.SupportPointLightWholeSceneShadows=True
 r.SupportAtmosphericFog=True
 r.SkinCache.CompileShaders=False
 [/Script/EngineSettings.GameMapsSettings]
 EditorStartupMap=/Game/Maps/MainMenu.MainMenu
 LocalMapOptions=
 TransitionMap=/Game/Maps/TravelMap.TravelMap
 bUseSplitscreen=False
 TwoPlayerSplitscreenLayout=Horizontal
 ThreePlayerSplitscreenLayout=FavorTop
 bOffsetPlayerGamepadIds=False
 GameInstanceClass=/Game/Blueprints/AllLevels/HOAGameInstance.HOAGameInstance_C
 GameDefaultMap=/Game/Maps/MainMenu.MainMenu
 ServerDefaultMap=/Game/Maps/MainMenu.MainMenu
 GlobalDefaultGameMode=/Game/ThirdPersonBP/Blueprints/ThirdPersonGameMode.ThirdPersonGameMode_C
 GlobalDefaultServerGameMode=None
 [/Script/HardwareTargeting.HardwareTargetingSettings]
 TargetedHardwareClass=Mobile
 AppliedTargetedHardwareClass=Mobile
 DefaultGraphicsPerformance=Maximum
 AppliedDefaultGraphicsPerformance=Maximum

Or should i even bother this message and go directly to package and test out? The way i test is i install ipa using IPP. is this the correct way? Please advise! Thanks!!

more ▼

answered Jan 06 '17 at 05:02 PM

avatar image

dizzynoob
116 6 11 15

avatar image Steve Hardister ♦♦ STAFF Jan 06 '17 at 06:45 PM

The screenshot of your Blueprints do not match those in the documentation and you did not provide screenshots for reading or restoring information so there may be a problem there, althought not necessarily.

Regarding testing, did you see this in the documentation:

Testing

You can test with a build that you load onto the device yourself, as well as with a build uploaded to iTunes Connect. Any users testing the purchase must be Internal or External Testers in iTunes Connect, and must have accepted that invitation. You'll also need your custom provision.

Do you meet the above criteria?

Lastly, did you read the information on the following two links:

Please be sure that you read and understand the contents of all of the links above so that you can provide a more precise description of where your In App purchases are failing to function.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Hi Steve,

I've read all the document regarding this. While testing the app after I install using IPP, the purchase button didn't even response and only failed. Is reading and restoring information compulsory? I have all my provision set and is all valid following the iOS guidelines in unreal engine. Is the 2 lines of the iOS log module warning doesn't matter as it seems like not loading the onlinesubsystem. Is it compulsory to upload the build IPA to iTunes connect to test using distribution provision and shipping packaging? Please advise. And I did setup the in-app purchase items and link to my app. But in make-in app purchase mode always go to failure. I'll update all the screenshots of these .

more ▼

answered Jan 06 '17 at 07:28 PM

avatar image

dizzynoob
116 6 11 15

avatar image Steve Hardister ♦♦ STAFF Jan 06 '17 at 08:46 PM

I'm not positive if reading and restoring is mandatory; this is simply different from the tutorial and may make a difference. I would look at this last in the troubleshooting process.

Regarding the 2 lines in the iOS log: Make sure that Online Subsystem iOS is enabled in the plugins. This should take care of those two lines.

Regarding iTunes Connect, please see the solutions posted on the following Answer Hub posts:

In app purchase is failing for iOS

Problem with In-App Purchase

And make sure to check out the Apple link provided:

In-App Purchase Configuration Guide for iTunes Connect

avatar image dizzynoob Jan 07 '17 at 07:43 AM

Hi Steve, regarding the 2 lines in log, the online subsystem iOS is already enabled in the plugin. I tried a few times creating a new blank project with all provision and cert valid. But still have those 2 lines. As I mentioned above if I try to disable other online subsystem rather than iOS, it'll show the 2 lines as well but after I reenable back then the 2 lines gone Except the iOS even its enabled.

I've checked the 2 links you provided in latest post, both of it I've seen but no luck. As the "s" added behind support inside defaultengine.ini and iosengine.ini has been fixed in the release. So it shouldn't be a problem. Just a quick question as you mentioned for testing I can load the IPA onto the device myself right. I install via IPP the game works flawlessly. But iap won't work and keep showing fail in make-in app purchase node. Hope someone can help me...

avatar image dizzynoob Jan 08 '17 at 06:28 PM

Just to update my progress, I had tried added "Show External Login UI" successfully launched Game Center but the 2 log lines still show and I believe this is the cause of the IAP not working as it didn't loaded the subsystem module even under plugin the online subsystem iOS is enabled. For best test, I tried package in shipping, for distribution checked and full rebuild, double check bundle Id matched with my explicit id, and as well product id is identical with the one setup in iTunesconnect. Download using TestFlight but in app purchase doesn't work. Always on failure pin. Edited defaultengine.ini by adding the codes as above, and as well double check the iosengine.ini, all is correctly spelled. On the side note, the iosengine.ini is not located in project/config/iOS anymore as mentioned in documentation. It already moves to plugin folder. Perhaps can you try create a blank project and test it out by adding the onlinesubsystem code in defaultengine.ini, it might not gonna load and 2 lines will show during startup and package. I tried download fresh copy of unreal engine on the other machine, same as well by creating blank project, is it a bug in the latest release? As I'm already on this issue for more than a week.... desperate... tried everything. I can package my test project if you need it. Please advise.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question