Announcement

Collapse
No announcement yet.

[FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    [PLUGIN] [FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

    Hi everyone!

    I would like to share few plugins i was working, for my mobile games, with the community.

    Currently they are available only for Android, as i don't have mac/iOS devices available for developing. When i will be able to get them i will release the iOS updates too, as i will use them anyway to my games.

    The completed plugins so far are AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing. Everyplay has some features working for now and OneSignal, Facebook,hopefully, will be completed the next days.

    Now more specifically, AdColony, AppLovin, Chartboost, UnityAds, Vungle enable rewarded video ads from each network. Sharing plugin allows you to save a screenshot and then share it natively, for example using gmail or sms.

    You can get the plugins from github:https://github.com/PandoraEntertainment

    All the plugins were tested with 4.13.2 -4.14.1 version.

    OneSignal will enable push notification with OneSignal and Local Notifications.

    Facebook will enable basic login functionality, App Invite and Sharing photo functionality, using the sharing dialog. No application review required from facebook.

    Hopefully i will have them ready too, the next days.



    More detail instruction and some screenshots coming below:
    • AdColony

      To configure the plugin you need to go to Project Settings->Plugins->AdColony-> App Id and enter your App ID from AdColony Dashboard.
      For entering the Zone ID you need to edit AdColony_APL.xml by entering your Zone ID from AdColony Dashboard to:
      Code:
      final String zoneId = ""; //Replace with your ZoneID from AdColony Dashboard.

    • AppLovin
      To configure the plugin you need to edit AppLovin_APL.xml by entering your sdk key:

      Code:
       <meta-data android:name="applovin.sdk.key"
      android:value= ""/> <!--Replace with your SDK key-->
      To start preloading ads you need to call the AppLovin Preload Rewarded Video node early on, and from there you need to call it again after an ad is shown, you can check if an ad is available at any time with the AppLovin Has Rewarded Video node.

    • Chartboost
      To configure the plugin you need to go to Project Settings->Plugins->Chartboost-> App Id and App Signature and enter your App ID and App Signature from Chartboost Dashboard.

      To start preloading ads you need to call the Chartboost Cache Rewarded Video node early on, and from there autocacing is enabled by default, you can check if an ad is available at any time with the Chartboot Has Rewarded Video node.


    • UnityAds
      To configure the plugin you need to edit UnityAds_APL.xml by entering your Game ID and Zone ID from UnityAds Dashboard to:
      Code:
      private String gameId = ""; //Replace with your GameId from UnityAds Dashboard
      
      private String rewardedVideoId = ""; //Replace with your ZoneId from UnityAds Dashboard

    • Vungle
      To configure the plugin you need to go to Project Settings->Plugins->Vungle-> App Id and enter your App ID from Vungle Dashboard.

    • Sharing
      No need for configuration here, you just use the Screenshot node with a filename like: MyScreenshot.png to save a screenshot.

      Then to share the screenshot you use the Share Screenshot Text NODE.
      You can specify the subject, the message, with something like "Check my new score. URL" where URL is a link to your website, app store page etc. , the Filename you used earlier and the App Name.
      The App Name is the same as seen in your package name, for example com.mycompany.appname. After you use this node you will be prompt to select an application to share the screenshot/text, for example a mail client, sms etc.

      If you don't want to share a screenshot you can just use the Share Text Url node where you specify the Subject and the message.
    Attached Files
    Last edited by Makis; 01-27-2017, 04:21 AM.
    Pandora Entertainment
    github.com/PandoraEntertainment
    [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

    #2
    A small update, all the above plugins are now configurable through Project Settings->Plugins within the editor, and tested with 4.14 version. No need to edit APL files.

    Download the master branch for each Ad provider from: https://github.com/PandoraEntertainment

    I might release them at the marketplace, i have sent Epic the appropriate files but still need confirmation from each Ad provider that they don't have a problem with it.

    I might not be able to release them.

    OneSignal so far seems to work fine, i will add some more functionality and i will update the thread.


    UPDATE 01/18/2017
    Facebook Plugin.

    I uploaded the Facebook Plugin. It integrates some basic functionality for Facebook sdk. Currently supports only Android. Some of you might find it useful for your projects too.

    You can get the plugin here: https://github.com/PandoraEntertainment/Facebook

    To use the plugin you have to setup minimum SDK version at Android settings to 21 and NDK LEVEL API to android-23.

    ..\Documents\Unreal Projects\YourProject\Plugins\FacebookSDK\lib\Android\res\values, you have to open FacebookID.xml and and use your Facebook APP_ID from facebook dashboard:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="facebook_app_id"></string><!-- Replace with your Facebook APP_ID -->
    </resources>
    At FacebookSDK_APL file you have to add yoUR APP_ID at the following manifest additions:

    Code:
     <!-- Replace with your Facebook APP_ID -->
         <provider android:authorities="com.facebook.app.FacebookContentProvider${APP_ID}"
              android:name="com.facebook.FacebookContentProvider"
              android:exported="true" />
    and then at gameActivityClassAdditions section replace the strings with your applinkUrl and previewImageUrl.

    Code:
    String appLinkUrl = "";//Replace with your applinkUrl
    
    String previewImageUrl = "";////Repplace with your previewImageUrl
    Don't forget to follow all the instructions at Facebook dashboard and complete all required information and settings.

    Bellow are few images showing the blueprint nodes available:

    Click image for larger version

Name:	Events.png
Views:	2
Size:	442.1 KB
ID:	1121691Click image for larger version

Name:	Functions.png
Views:	2
Size:	178.5 KB
ID:	1121692

    In order to use the Login Events create an actor blueprint, add Facebook sdk component and add it to your level.

    With the App Invite node you can invite your Facebook friends to your game.

    With the share photo you can share a photo from your game. You need to specify the AppName, it is the same as what you have on your package name, com.yourcompany.yourgame and the name of the file. For example MyScreenshot.png

    To get a screenshot i am using the Screenshot method at my sharing plugin:https://github.com/PandoraEntertainment/Sharing


    If you want to target devices with minimum target sdk below 21 you can try using the facebook 4.10.1 aar, but i haven't tested it with this version, I think i have fix some errors during packaging regarding the aar res files, but i abandoned and start working with 4018version of facebook sdk.

    In the FacebookSDK_APL file:

    Code:
     <AARImports>
        <insertValue value="repository $S(PluginDir)/../../ThirdParty/repository"/>
        <insertNewline/>
        <insert>com.facebook,Facebook,4.18.0</insert>
        <insertNewline/>
      </AARImports>
    
    replace with:
    
    
     <AARImports>
        <insertValue value="repository $S(PluginDir)/../../ThirdParty/repository"/>
        <insertNewline/>
        <insert>com.facebook,Facebook,4.10.1</insert>
        <insertNewline/>
      </AARImports>
    For those that will like to get profile images, friends lists, or have leaderboards, achievements i won't integrate those from Facebook, but i can achieve this functionality already and with a much more flexibility, in my opinion, by using Playfab

    By just getting the facebook access token, i can get info about user profile and their friends, download user profile picture and those of their friends etc.

    I have created a thread in Android forums too: https://forums.unrealengine.com/show...ok-for-Android


    UPDATE 01/26/2017 OneSignal Plugin.

    I uploaded the OneSignal Plugin. It integrates some basic functionality for OneSignal sdk. Currently supports only Android. Some of you might find it useful for your projects too.

    You can get the plugin here: https://github.com/PandoraEntertainment/OneSignal.

    To use the Plugin, at OneSignal_APL file you have to add your app_id and package name:

    Code:
    <meta-data android:name="onesignal_app_id"
             android:value="" /><!--Please Provideyour app_id -->
           
    	  <!-- TODO: Please update the Package Name below to yours! --> 
          <receiver
              android:name="com.onesignal.GcmBroadcastReceiver"
              android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
              <action android:name="com.google.android.c2dm.intent.RECEIVE" />
              <category android:name="" /><!--Please update the Package Name --> 
            </intent-filter>
          </receiver>
    and check OneSignal documentation:https://documentation.onesignal.com/...fication-icons and change the files in the lib/Android/res folders accordingly to yours.
    Last edited by Makis; 01-26-2017, 01:12 PM.
    Pandora Entertainment
    github.com/PandoraEntertainment
    [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

    Comment


      #3
      I've been asking for a native screenshot sharing plugin FOREVER. Or even a tutorial on how to do one, as I know the java portion of it isn't complex at all. You're my official hero of the year.

      I noticed you have to specify quite a bit in the screenshot sharing. If you leave AppName empty does the user get to choose, or do you have to specify? Also, if specifying does it have to be as package name or shortname? EG: "Facebook" or "com.ocana..xxxxxxxxx"?

      Unpopular Minion on the Play Store (Released: January 31, 2016)

      Comment


        #4
        Originally posted by Distul View Post
        I've been asking for a native screenshot sharing plugin FOREVER. Or even a tutorial on how to do one, as I know the java portion of it isn't complex at all. You're my official hero of the year.

        I noticed you have to specify quite a bit in the screenshot sharing. If you leave AppName empty does the user get to choose, or do you have to specify? Also, if specifying does it have to be as package name or shortname? EG: "Facebook" or "com.ocana..xxxxxxxxx"?
        Hi Distul,

        Yes i think i have seen a thread about it.

        You have to specify the app name. For example com.ocana.appname, you have to use appname in the method.

        I guess can make it parse the package name and get the appname in java so there is no need for this input but maybe in a feature update.

        Please try it and send me any feedback. I will try to make it better with time.

        I am working on something similar with Facebook too, a simple login with basic permissions, App Invites, and sharing screenshots from your game. The same functionality from above but for Facebook.

        So you can share screenshots with high scores, achievements, unlocking characters etc.
        Pandora Entertainment
        github.com/PandoraEntertainment
        [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

        Comment


          #5
          Using package name make store sense as package name shouldn't change but app title can change at any time. I haven't tried it yet, but if you haven't already I'd recommend pulling up generic sharing menu if app isn't specified.

          Eg: when a user clicks the share button on any app it pulls a list of apps they can share to. It's a built in function in Android and behaves VERY similar to specifying an app. The code is out there somewhere, I'll try to locate it for you later.

          Unpopular Minion on the Play Store (Released: January 31, 2016)

          Comment


            #6
            The appname is that of your game, for example, com.yourcompany.appname. It is required so the it can find the correct folder path where the screenshot is stored.

            It doesn't have anything to do with what application you will use to share the screenshot.

            If you try to share, yes you will see a pop up list with all available applications, like email clients, sms etc.
            Pandora Entertainment
            github.com/PandoraEntertainment
            [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

            Comment


              #7
              Originally posted by Makis View Post
              The appname is that of your game, for example, com.yourcompany.appname. It is required so the it can find the correct folder path where the screenshot is stored.

              It doesn't have anything to do with what application you will use to share the screenshot.

              If you try to share, yes you will see a pop up list with all available applications, like email clients, sms etc.
              Oh, I misunderstood you. Perfect then! I appreciate this, will be a good learning tool as well. Thank you!

              Unpopular Minion on the Play Store (Released: January 31, 2016)

              Comment


                #8
                Originally posted by Makis View Post
                The appname is that of your game, for example, com.yourcompany.appname. It is required so the it can find the correct folder path where the screenshot is stored.

                It doesn't have anything to do with what application you will use to share the screenshot.

                If you try to share, yes you will see a pop up list with all available applications, like email clients, sms etc.
                It seems this isn't working for me. Whenever I try to share it just says invalid image. I'm on Cyangenmod13. I'm finding the screenshot in the UE4Game folder but I'm thinking you're expecting it in data/com......?

                Here are all the methods I tried to share with:
                Click image for larger version

Name:	allfail.png
Views:	1
Size:	155.0 KB
ID:	1119035
                Attached Files
                Last edited by Distul; 11-28-2016, 12:59 AM.

                Unpopular Minion on the Play Store (Released: January 31, 2016)

                Comment


                  #9
                  I've the same problem as [MENTION=28422]Distul[/MENTION].
                  I'm using android 6.0.1.
                  While sharing, I get info about incorrect file.
                  The screenshot is saved in `Phone\UE4Game\androidAR\androidAR\Saved\Screenshots\Android` location.
                  It would be great if You could give as some sample project with working example.
                  Here is my Blueprint:

                  Comment


                    #10
                    For a package named com.yourcompany.yourgame the argument you will use in the sharing method, will be App Name = yourgame.

                    If the argument you used at the screenshot method was: Filename = yourscreenshot.png, then you will use the same argument at the sharing method: Filename = yourscreenshot.png

                    Try it and let me know how it went.

                    Moreinfinity could you please check your attachment, i cannot open it.
                    Last edited by Makis; 11-28-2016, 09:49 AM.
                    Pandora Entertainment
                    github.com/PandoraEntertainment
                    [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

                    Comment


                      #11
                      Hi! Here are screenshots again:
                      Click image for larger version

Name:	ice_screenshot_20161128-162006.png
Views:	1
Size:	116.4 KB
ID:	1119047
                      Click image for larger version

Name:	ice_screenshot_20161128-162031.png
Views:	1
Size:	5.5 KB
ID:	1119048

                      EDIT: Removing delays ale leaving only Screenshot ShareScreenShotText doesn't change anything
                      Last edited by moreinfinity; 11-28-2016, 11:29 AM.

                      Comment


                        #12
                        Just saw what was wrong. I forgot to change one hard-coded variable.

                        Go to ..\Unreal Projects\YourPoject\Plugins\Sharing\Source\Sharing

                        open the Sharing_APL with a text editor and change the following code:

                        Code:
                        File picFile = new File(dirpath.getPath(), "UE4Game" +"/" + AppName + "/" + AppName + "/" + "Saved/Screenshots/Android" + "/" + "Game.png");
                        
                        to
                        
                        File picFile = new File(dirpath.getPath(), "UE4Game" +"/" + AppName + "/" + AppName + "/" + "Saved/Screenshots/Android" + "/" + Filename);
                        Package again your game.

                        Just tested to my device.

                        But i will appreciate if you test it again in different devices too, as i have a limited number of them.

                        Your setup at the screenshot seems correct.
                        Last edited by Makis; 11-28-2016, 12:59 PM.
                        Pandora Entertainment
                        github.com/PandoraEntertainment
                        [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

                        Comment


                          #13
                          It's working like a charm right now. I had have to also change my project name (My project was called androidAR, but in android package, application was called HanzaAR).
                          I used Samsung Galaxy A5 with android 6.0.1 (SM-A500FU). I'll run samo tests on other phones later and will post the results.

                          Comment


                            #14
                            With new changes works on my Moto X 2014 as well.

                            Worth mentioning the app name is the project name as shown in the uproject file, not it's compile name.

                            I found this really useful in renaming the project: https://answers.unrealengine.com/que...c-project.html
                            Last edited by Distul; 11-28-2016, 06:41 PM.

                            Unpopular Minion on the Play Store (Released: January 31, 2016)

                            Comment

                            Working...
                            X