Criar um aplicativo Hello World para Android

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Incorporar estruturas de SDK de serviço em seu projeto de Android.
  • Conectar alguns recursos de SDK de serviço básicos a seu projeto de Android.
  • Descrever onde encontrar mais recursos de SDK de serviço.

Introdução ao Android

Nesta unidade, vamos mostrar como é rápido conectar recursos do Service Cloud a um aplicativo Android existente. O SDK de serviço para Android é um pouquinho diferente do SDK de serviço para iOS. Isso ocorre porque desenvolvemos cada SDK para seguir os padrões de design de cada plataforma.

Nota

Nota

Esta unidade pressupõe que você está familiarizado com desenvolvimento para Android. Não vamos ensiná-lo a programar em código Java ou a usar o IDE do Android Studio. Se você não sabe usar essas coisas, percorra a unidade para ter uma ideia dos benefícios de usar esse SDK.

Criar um projeto básico no Android Studio

Vamos criar um projeto de telefone no Android Studio. Especifique o SDK mínimo como API versão 21 ou superior.

Configuração do Android Studio

Vamos fazer também um projeto Atividade básica para termos o botão de ação flutuante (FAB) gratuitamente.

Projeto de atividade básica

Agora estamos prontos. Para trazer o SDK para nosso projeto, precisamos atualizar os repositórios no script build.gradle:

allprojects {
  repositories {
    google()
    jcenter()
    maven {
      url 'https://s3.amazonaws.com/salesforcesos.com/android/maven/release'
    }
    maven {
      url 'http://tokbox.bintray.com/maven/'
    }
  }
}

E atualizar as dependências no script build.gradle do aplicativo:

dependencies {
  compile 'com.salesforce.service:servicesdk:+'
}
Nota

Nota

É melhor compilar em relação a uma versão específica do SDK. Substitua o “+” pela versão específica que você deseja usar. Confira as instruções de instalação para ver as informações de versão (consulte a seção Recursos).

Antes de começarmos com o código, vamos mudar o FAB de um ícone de email (ic_dialog_email) para um ícone de ajuda (ic_menu_help). Isso pode ser mudado em activity_main.xml:

<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_menu_help"/>

As coisas parecem estar indo bem. Agora vamos adicionar código a esse projeto para que ele faça algo de interessante...

Vamos programar...no estilo Android

Nesta unidade, vamos ver o recurso Knowledge novamente, mas você poderá experimentar qualquer outro recurso se preferir.

Primeiro, defina algumas variáveis em nossa classe principal Activity.

// You should normally maintain a reference to these instances
// within the Application lifecycle (rather than Activity lifecycle)...
// They are placed here just for this example...
KnowledgeUI mKnowledgeUI = null;
KnowledgeUIClient mKnowledgeUIClient = null;
// Specify the site url, category group, and root category
public static final String siteUrl = "https://your-site-url";
public static final String categoryGroup = "your-category-group";
public static final String rootCategory = "your-root-category";

Assim como na unidade de iOS, não deixe de substituir os valores de espaço reservado pelos valores reais do site do Experience Cloud, de seu grupo de categoria de dados e da categoria de dados raiz. Confira a Configuração do Cloud para o Knowledge na seção Recursos para ver orientações mais detalhadas.

Agora, vamos criar um método initialize e um método start para o Knowledge.

// Call this method at init time...
private void initKnowledge() {
    if (mKnowledgeUI == null) {
        // Create a core configuration instance
        KnowledgeConfiguration coreConfiguration =
            KnowledgeConfiguration.create(siteUrl);
        // Create a UI configuration instance from core instance
        KnowledgeUIConfiguration uiConfiguration =
            KnowledgeUIConfiguration.create(coreConfiguration, categoryGroup, rootCategory);
        // Create a UI instance
        mKnowledgeUI = KnowledgeUI.configure(uiConfiguration);
    }
}
// Call this method when you want to show the Knowledge UI
private void startKnowledge() {
    if (mKnowledgeUIClient == null) {
        // Create a client asynchronously
        mKnowledgeUI.createClient(MainActivity.this)
            .onResult(new Async.ResultHandler<KnowledgeUIClient>() {
            @Override public void handleResult (Async<?> operation,
                KnowledgeUIClient uiClient) {
                // Store reference to the Knowledge UI client
                mKnowledgeUIClient = uiClient;
                // Handle the close action
                uiClient.addOnCloseListener(new KnowledgeUIClient.OnCloseListener() {
                    @Override public void onClose () {
                        // Clear reference to the Knowledge UI client
                        mKnowledgeUIClient = null;
                    }
                });
                // Launch the UI
                uiClient.launchHome(MainActivity.this);
            }
        });
    }
}

O método initKnowledge usa informações de configuração para criar um objeto KnowledgeUI. O método startKnowledge cria um KnowledgeUIClient do objeto KnowledgeUI e inicia a interface com o método de SDK launchHome.

Podemos conectar o método initKnowledge ao método onCreate e o método startKnowledge ao que o usuário toca no FAB (Floating Action Button, botão de ação flutuante). Algo assim:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    initKnowledge();
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startKnowledge();
        }
    });
}

E é isso. Inicie o aplicativo no emulador, toque no FAB e veja o Knowledge aparecer.

Knowledge no Android

Assim como no iOS, isso é apenas o começo. É possível adicionar imagens principais e personalizar as cores para corresponder às de sua marca. Você pode criar uma experiência completa de suporte que inclui Knowledge, gerenciamento de casos e bate-papo. E, se preferir, você pode codificar sua própria interface de usuário e usar nossa API de nível inferior.

O que vem a seguir?

Confira a seção Recursos para obter links de documentos úteis que levarão seus aplicativos habilitados para serviços um passo à frente. Você pode começar com o guia do desenvolvedor do SDK de serviço incorporado para Android. Ele contém mais tutoriais, mais exemplos e trata de muitos outros tópicos. Ele tem tudo o que é necessário para conectar os quatro principais recursos de suporte: Knowledge, gerenciamento de casos e bate-papo. Também é possível consultar a documentação de referência para Android para ver detalhes sobre a API.

Pronto, você acabou de ver uma introdução ao SDK de serviço incorporado para aplicativos móveis. Agora você já deve entender o valor desse kit de ferramentas e ter uma ideia de sua utilidade. Vários recursos sem a necessidade de muito código. Agora é a sua vez. Vamos ver o que você consegue fazer com esse SDK!

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira