定制 minicodemonkey/amazon-alexa-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

minicodemonkey/amazon-alexa-php

Composer 安装命令:

composer require minicodemonkey/amazon-alexa-php

包简介

Amazon Alexa interface for PHP

README 文档

README

This library provides provides a convient interface for developing Amazon Alexa Skills for your PHP app.

Usage

Install via composer: composer require minicodemonkey/amazon-alexa-php.

Requests

When Amazon Alexa triggers your skill, a HTTP request will be sent to the URL you specified for your app.

You can parse the JSON body of the request like so:

$jsonDataAsArray = $request->json()->all(); // This is how you would retrieve this with Laravel
$alexaRequest = \Alexa\Request\Request::fromData($jsonDataAsArray);

You can determine the type of the request with instanceof, e.g.:

if ($alexaRequest instanceof IntentRequest) {
	// Handle intent here
}

Responses

You can build several Alexa responses with the Response class. You can optionally set cards or a reprompt, too.

Here's a few examples.

Simple text response

$response = new \Alexa\Response\Response;
$response->respond('I\'m your response message');

With reprompt

$response = new \Alexa\Response\Response;
$response->reprompt('What is your favourite color?');

Cards

For detailled informations on cards check out the following link: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/providing-home-cards-for-the-amazon-alexa-app#creating-a-home-card-to-display-text-and-an-image

SingleCard
$response = new \Alexa\Response\Response;
$response->respond('Cooool. I\'ll lower the temperature a bit for you!')
	->withCard('Temperature decreased by 2 degrees');
StandardCard with images

You can also show images within your card

Please note some notes on image sizing and hosting: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/providing-home-cards-for-the-amazon-alexa-app#image_size

$response = new \Alexa\Response\Response;
$response->respond('Cooool. I\'ll lower the temperature a bit and show you an image!')
	->withImageCardCard('My title', 'My caption text for the image...', 'https://url.to/small-image.jpg', 'https://url.to/large-image.jpg');
LinkAccountCard

The LinkAccountCard is used for skills with enabled account linking and will show a link to your configured account linking url. As title, text etc. are set automatically there is no possibility to set random text.

$response = new \Alexa\Response\Response;
$response->respond('To link the skill with your account, click the linkAccount shown in your alexa app.')
	->withLinkAccountCard();

Output the response

To output the response, simply use the ->render() function, e.g. in Laravel you would create the response like so:

return response()->json($response->render());

In vanilla PHP:

header('Content-Type: application/json');
echo json_encode($response->render());
exit;

TODO

  • Verify request timestamp integrity automatically

minicodemonkey/amazon-alexa-php 适用场景与选型建议

minicodemonkey/amazon-alexa-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 28.59k 次下载、GitHub Stars 达 97, 最近一次更新时间为 2015 年 08 月 26 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 minicodemonkey/amazon-alexa-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 minicodemonkey/amazon-alexa-php 我们能提供哪些服务?
定制开发 / 二次开发

基于 minicodemonkey/amazon-alexa-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 28.59k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 97
  • 点击次数: 18
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 97
  • Watchers: 9
  • Forks: 70
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-08-26