Appodeal crash question

Hi ingemar,

 

I cannot reproduce crash at this moment, sorry (now I am at Corona build 2017.3056).

 

But I think Appodeal is flagging me like this ( " not permitted to register for event … ignored registration"  ):

 

 

Mar 15 17:09:25 IVANs-iPad CommCenter[73] <Notice>: #I CTServerConnection from pid 6326[<private>] is named ‘<private>’.
Mar 15 17:09:25 IVANs-iPad CommCenter[73] <Notice>: #I   ==== client 6326 (<private>) registered for event kCTEventWirelessTechnologyChange(139) (now total 1)
Mar 15 17:09:25 IVANs-iPad CommCenter[73] <Notice>: #I   ==== client 6326 (<private>) registered for event kCTEventRegistrationDataStatus(55) (now total 2)
Mar 15 17:09:25 IVANs-iPad CommCenter[73] <Notice>: #E Client 6326 (<private>) not permitted to register for event kCTEventIndicatorSignalStrength(16); ignored registration
Mar 15 17:09:25 IVANs-iPad CommCenter[73] <Notice>: #I CTServerConnection from pid 6326 has closed (conn=0x123da8d50)
Mar 15 17:09:25 IVANs-iPad Crazy Controls(CoreTelephony)[6326] <Notice>: Could not successfully update network info during initialization.
Mar 15 17:09:25 IVANs-iPad Crazy Controls(WebCore)[6326] <Notice>: #WK: Starting frame load, frame = 0x105965500, main = 1
Mar 15 17:09:25 IVANs-iPad Crazy Controls[6326] <Notice>: -----------------------------event phase
Mar 15 17:09:25 IVANs-iPad Crazy Controls[6326] <Notice>: failed
Mar 15 17:09:25 IVANs-iPad Crazy Controls[6326] <Notice>: ----------------------------- event.type
Mar 15 17:09:25 IVANs-iPad Crazy Controls[6326] <Notice>: rewardedVideo
Mar 15 17:09:25 IVANs-iPad mediaremoted[4598] <Notice>: Client with pid 6326 opened connection.
Mar 15 17:09:25 IVANs-iPad mediaremoted[4598] <Notice>: Adding client with PID 6326
Mar 15 17:09:25 IVANs-iPad mediaremoted[4598] <Notice>: Added com.xxx.xxxxx as possible now playing application.
Mar 15 17:09:25 IVANs-iPad Crazy Controls(libsystem_trace.dylib)[6326] <Notice>: subsystem: com.apple.mediaremote, category: NowPlaying, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 0, enable_private_data: 0

I noticed they will not fire  event.phase == “completed”  when you turn OFF testMode.

When you turn ON testMode, then they will fire it and return event.data only in form of “reward”.

I do not get Rewarded video settings in form of event.data from their Dashboard…

Ivan

The “not permitted to register for event kCTEventIndicatorSignalStrength(16); ignored registration” isn’t coming from your app. It’s from CommCenter and is an internal message from iOS and can be ignored.

Also there is no phase==“completed” event for Appodeal. I assume you might mean phase==“loaded” ?

A “failed” event for rewarded videos can happen if you live in a region outside the US as the fill-rate may be low.

event.data is only available in the phase==“playbackEnded” event and will contain the reward data.

When testing your app with live ads (testMode=false), you can increase your chances of receiving ads by using a VPN service on your device and setting it to a US server.

BTW.

You mentioned a crash in your first post on this thread.

iOS generates crash logs on the device. To see what may have happened:

  1. Start Xcode
  2. Select Window->Devices
  3. Connect your iPad mini 
  4. Select your device (left panel)
  5. Click the “View Device Logs” button
  6. Check out the entries with Type: Crash where Process is your app name

Sorry, I meant:

**event.phase == “playbackEnded”  (**not “completed” (typo) ).

I just checked xCode iPad crash logs, and last one was recorded on 30.04.2016, so I do not know what happened few days ago…

I checked event.data during phase==“playbackEnded”

Only thing I saw was " reward".

There were no data that was set in Appodeal Dashboard (for example " 200" and " coins").

So they just return " reward".

Those settings on the Appodeal dashboard are under the “Legacy settings” sections.

I’m starting to think they are not valid anymore.

The plugin merely forwards the data we get from Appodeal.

I’d suggest you contact Appodeal support and ask about the issue. I believe there’s a link to their support on the bottom of the Appodeal dashboard page.

I am little tight on schedule in releasing my app… so I have included all possibilities: “reward”, “200” when checking my pairs…

If they return another unexpected value later… bummer … but I will contact them … I have no time to wait at this moment.

This is APPODEAL response on this topic (I do not understand it).
It follows:

Use appodeal.show( adUnitType [, params] ) and create segment with price reward https://docs.coronalabs.com/plugin/appodeal/show.html
look for 

placement (optional)
String. The placement you want the ad to be associated with. Placements are an advanced feature used together with “Segments” as defined in the Appodeal dashboard.

New reply (rewardItem and rewardAmount were never returned during testMode = true):

https://docs.coronalabs.com/plugin/admob/event/adsRequest/phase.html

“reward” — Indicates that a rewarded video ad has been viewed to its completion and that a reward should be given. Additionally, for this phase, event.data is a JSON-formatted string containing rewardItem and rewardAmount keys.

I think they may have misunderstood the issue, but I’ll have a look at the Segments.

There is no “reward” phase for Appodeal.

The docs for “reward” in the link you posted above is for AdMob, not Appodeal :slight_smile:  

I’ve investigated Segments and can confirm that the reward setup is done now by using Segments.

You can find the Segment section in the Appodeal Dashboard.

Attached is a screenshot of how I set up a simple placement for rewards.

You’ll need to add one segment per platform (iOS, Android etc)

When you show your ad you associate it with a placement like this

appodeal.show(“rewardedVideo”, {placement=“reward”})

Everything seems to work the “old way” (maybe Appodeal is pushing this to have more valid payments information).

When you “for” check  pairs  upon

event.phase == "playbackEnded" and event.type == "rewardedVideo"&nbsp;

you get " reward" string back.

I will reflect segments in next week game revision, this one is waiting for review.

Btw, I read that Appodeal purchased Corona SDK, and that you are going to be open-source…  :slight_smile:

Checking for phase “playbackEnded” and type “rewardedVideo” is the only correct way to detect when a reward should be given.

The only difference is if you want to dynamically set the reward from the Appodeal dashboard (instead of hardcoding the value in your app).

The reward settings in the “Legacy section” of the Appodeal dashboard are ignored. If you want to modify the reward data returned in the event you must use Segments as described above.

But I haven`t passed {placement=“reward”} during:

appodeal.show("rewardedVideo")

That is a problem…

Yes, without using {placement=“some-name”} when you call show() you’ll need to hard-code the reward value in your app when you get phase “playbackEnded” and type “rewardedVideo”.

Ok. Got you.

Thanks.