Skip to content

Implementing providers on android #13

Open
@davecoffin

Description

@davecoffin

Hey Steve, I am trying to implement a provider on android. I was able to get it working on iOS by doing this:

exports.searchHelpCenter = function(query) {
    return new Promise(function(resolve, reject) {
        openZendesk().then(function(controller) {
            let provider = ZDKHelpCenterProvider.new();
            provider.init().searchForArticlesUsingQueryWithCallback(query, function(results, error) {
                var jsResults = utilsModule.ios.collections.nsArrayToJSArray(results);
                resolve(jsResults);
            })
        })
    })
}

But I'm having a hard time figuring out how to do it on the Android side. Could you provide some pointers?

Here's what I have so far, which is essentially nothing:

exports.searchHelpCenter = function(query) {
    return new Promise(function(resolve, reject) {
        if(account.initialized) {
            var activity = frameModule.topmost().android.activity;
            var MyZendeskCallback = com.zendesk.service.ZendeskCallback.extend({
                onSuccess: function(args){
                    if(account.anonymous){
                        loadAnonUser();
                    } else {
                        loadJwtUser();
                    }
                    let provider = new com.zendesk.sdk.network.HelpCenterProvider();
                    provider.helpCenterProvider();
                    // I have no idea what im doing
                    resolve();
                },
                onError: function(error){
                    console.log(error);
                }
            });
            initSdk(activity, new MyZendeskCallback())
            
        } else {
            reject("Zendesk account info not initalized, please call the init function on the module.");
        }
    })
}

I'm working off of these docs: https://zdmobilesdkdocdev.herokuapp.com/android-sdk-providers/com/zendesk/sdk/network/HelpCenterProvider.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions