Upgrade

Sometimes we need you to upgrade existing integration to use our latest features.

0.5.12

Migrated to AndroidX, updated Facebook SDK.

0.5.11

Added WhatsApp sharing support. Fixed WebView reload bug.

0.5.10

Added flag about availability of native email sharing to the native features header. Improved native features stability.

0.5.9

Added support for native email sharing.

0.5.8

Added compatibility with Gradle 5.x

Added ability to set custom properties on Customer

Updated Visitor registration logic to meet updated Talkable requirements

0.5.7

Added debug mode to facilitate testing.

Fixed bug with missing getter methods in the Reward model.

0.5.6

SDK is now available as a Maven package on JitPack.

0.5.5

Added support for third party deep linking providers.

Improved authentication and error handling for API requests.

0.5.4

Fixed crashes when the server sends bad responses.

0.5.3

Added createEmailShare and createSocialShare methods to TalkableApi.

Deprecated createShare methods from TalkableApi.

0.5.2

Added support for title, url and imageUrl attributes for Item.

0.5.1

Added multiple coupons support for Event and Purchase.

0.5.0

Added an ability to handle errors when showing Offer.

To update from the previous version, please do following steps.

  1. Update dependencies inside build.gradle:

    // From
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.android.support:support-v4:25.3.1'
    
    // To
    compile 'com.google.code.gson:gson:2.8'
    compile 'com.android.support:support-v4:26.1.0'
    
  2. Use showOffer functions with a callback parameter.

    // From
    showOffer(activity, origin);
    
    // To
    showOffer(activity, origin, new TalkableErrorCallback<TalkableOfferLoadException>() {
        @Override
        public void onError(final TalkableOfferLoadException error) {
            // Error handling. Note that it runs on non UI thread
        }
    });
    
  3. Use Talkable.setSiteSlug functions without Context as a parameter.

    // From
    setSiteSlug(context, "site-slug");
    
    // To
    setSiteSlug("site-slug");
    
  4. TalkableOfferFragmentListener interface implementation is optional now.

  5. In case you used TalkableOfferFragment directly check out a new workflow.

0.4.2

Read Contacts permission is optional from this version.

In case you used import_contacts callback, you have to define READ_CONTACTS permission inside the manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.app.myapp" >
  <uses-permission android:name="android.permission.READ_CONTACTS" />
  ...
</manifest>

0.4.1

Fixed an issue inside TalkableOfferFragment.

0.4.0

Added multiple site slugs support. Bugs fixing.

From this moment you can operate with multiple Talkable sites inside Talkable SDK. Look in Advanced Usage for more detailed information if needed.

To update from the previous version, please do following steps.

  1. Update dependencies inside build.gradle.

    // From
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.android.support:support-v4:24.2.1'
    
    // To
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.android.support:support-v4:25.3.1'
    
  2. Change credentials setup inside the manifest.

    <!-- From -->
    <application>
        ...
        <meta-data
            android:name="TalkableApiKey"
            android:value="{{YOUR_TALKABLE_PUBLIC_API_KEY}}" />
        <meta-data
            android:name="TalkableSiteSlug"
            android:value="{{YOUR_SITE_SLUG}}" />
        ...
    </application>
    
    <!-- To -->
    <application>
        ...
        <meta-data
            android:name="tkbl-api-key-{{YOUR_SITE_SLUG}}"
            android:value="{{YOUR_TALKABLE_PUBLIC_API_KEY}}" />
        ...
    </application>
    
  3. Initialize Talkable in the Application.

    import com.talkable.sdk.Talkable;
    import android.app.Application;
    
    public class App extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            Talkable.initialize(this);
        }
    }
    

    Note

    Make sure to add your application class name as android:name parameter of the <application> element in your manifest

  4. Call Talkable.trackAppOpen inside you main activity class, like before.

    import com.talkable.sdk.Talkable;
    import android.app.Activity;
    
    public class MainActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            ...
    
            Talkable.trackAppOpen(this);
        }
    }
    

From this version defining of TalkableActivity and InstallReferrerReceiver inside Android Manifest is not necessary.

0.3.1

Introducing TalkableOfferFragmentListener interface. Bugs fixing.

Fixed a bug when no campaign found and added TalkableOfferFragmentListener interface.

To use instance of TalkableOfferFragment directly you have to implement TalkableOfferFragmentListener interface from TalkableOfferFragment class inside an activity that uses the fragment. Look in Advanced Usage for more detailed information if needed.

0.3.0

Move to Fragments

Talkable SDK is built on top of Fragments (from Support Library) instead of Activities now to provide more flexibility for end users.

0.2.0

Deep linking scheme

Add this to AndroidManifest.xml inside definition of Talkable activity

<intent-filter>
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="tkbl-{{YOUR_SITE_SLUG}}" />
</intent-filter>

Tracking app opening

Replace Talkable.initialize(this); with Talkable.trackAppOpen(this); in your main activity. Look in installation section for more detailed information if needed.

0.1.0

It’s initial release, nothing to do.